先上代码:
php
">if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST["qname"] =="姓名") {
$nameErr = "请输入姓名";
}else {
$con = mysql_connect("localhost","root","123456");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_query("set names ’utf8’ ");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
mysql_select_db("gkweb", $con);
$sql="select c_name,c_extension,c_mail from gk_contacts where c_name='".$_POST["qname"]."'";
echo $sql;
$result = mysql_query($sql);
echo "
姓名 | 座机 | 电子邮件 |
---|
echo 123;
while($row = mysql_fetch_array($result))
{
echo "
";echo "
" . $row['c_name'] . "";echo "
" . $row['c_extension'] . "";echo "
" . $row['c_mail'] . "";echo "
";}
echo "
";mysql_close($con);
}}
?>
不知道为什么只要使用了带where的sql进行查询就没有输出结果。
但是使用$sql="select c_name,c_extension,c_mail from gk_contacts"却能输出所有数据.
我也使用echo $sql;输出的SQL在数据库后台查询了,能输出结果。求大神告知是哪里写错了。
不知道怎么排版,求不嫌弃。谢谢
刚才有大神说可能是数据库字符编码的问题,可我数据库都是用的UTF8
bashMariaDB [(none)]> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)