你好,我有在我的脚本编码的问题。我的connect函数如下所示:
function connect()
{
$conn = mysql_connect('192.168.1.127', 'mason_frik', 'difficultpassword');
if (!$conn)
{
die('Nie można się połaczyć!');
}
mysql_query("SET NAMES 'utf8'; COLLATE='utf8_polish_ci';");
mysql_query("SET character_set_client = 'utf8'");
mysql_query("SET character_set_results = 'utf8'");
mysql_query("SET character_set_connection = 'utf8'");
mysql_select_db('mason_konkursy');
}在我的数据库中,我到处都在使用utf8_polish_ci。在我的脚本中,我从其他页面获取了一些东西,我需要在我的db中搜索它,如下所示://此函数正在解析其他页面并获取SPAN的innertext。
$question = GetSpanData($FirstQuestion, "dnn_ctr1975_ViewContestsContestNew_dc_question_lblQuestion");
$wyn = mysql_query('SELECT * FROM questions WHERE question="'.$question.'"');
$wynik = mysql_fetch_array($wyn, MYSQL_ASSOC);结果为bool(false)。当我将查询复制到phpmyadmin并粘贴到sql时,它可以正常工作,但从我的脚本中它不起作用。你能帮助我吗?
发布于 2012-08-27 04:37:49
这一行是错误的:
mysql_query("SET NAMES 'utf8'; COLLATE='utf8_polish_ci';");correct syntax为:
SET NAMES 'charset_name' COLLATE 'collation_name'在您的示例中,代码将为:
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_polish_ci';");阅读eggyal发布的第一条评论: mysql_*函数不应该再使用了,它们已被弃用,并将在未来的版本中删除。
您可能在这行代码中遗漏了对mysql_real_escape_string的调用(我无法确定,这取决于函数GetSpanData的确切作用):
mysql_query('SELECT * FROM questions WHERE question="'.$question.'"');要正确转义数据,必须使用mysql_real_escape_string函数:
mysql_query('SELECT * FROM questions WHERE question="'.mysql_real_escape_string($question).'"');https://stackoverflow.com/questions/12133548
复制相似问题