分类: Mysql/postgreSQL
2013-02-18 10:18:46
DB: mysql5.1
DB charset: UTF-8
开发语言: PHP
问题:
通过php mysqli连接到DB后, 删除数据, SQL的where条件的值中包含汉字.
例:
delete from keywordlist where userid='peter' and keyword='通信速度';
一直不能删除数据, 最后在PHP中追加了设定字符集后, 能正常删除了.
追加如下一行:
$mysqli->set_charset("utf8");
php文件内容:
connect_errno) { echo $callback.'({"result": "Database connect error!!"})'; return; } $mysqli->set_charset("utf8"); $sql = "delete from keywordlist where userid='" . $userid . "' and keyword='" . $mysqli->real_escape_string($keyword) ."'"; error_log("sql: ".$sql); $mysqli->query ( $sql ); $mysqli->close (); echo $callback.'({"result": "OK", "keyword": "'.$keyword.'", "sql": "'.$sql.'"})';