Heim >Backend-Entwicklung >PHP-Tutorial >为何mysql_fetch_array没有执行?

为何mysql_fetch_array没有执行?

WBOY
WBOYOriginal
2016-06-23 14:39:42825Durchsuche

error_reporting(0);
$conn=mysql_connect("localhost","root","root");//填写数据库连接信息
mysql_select_db("a1209173000");//填写数据库名
$valA = $_POST["valA"];
if($valA!=""){
$sql = "select * from  table where chepai='".$valA."'";
$result=mysql_query($sql);
    while($arr=mysql_fetch_array($result))
      {
        echo $arr["name"]."
";
      }
}else{
?>


输入A值:


}
?>

通过在每行后面加echo输出,发现执行到 while($arr=mysql_fetch_array($result))这时里面的没有执行,哪出问题了呢, $sql正常

回复讨论(解决方案)

你是取不到$valA = $_POST["valA"];这个值

$result=mysql_query($sql);if(mysql_error()){  echo mysql_errno() . ": " . mysql_error() . "\n";}

看看有没有报错?

$result=mysql_query($sql);if(mysql_error()){  echo mysql_errno() . ": " . mysql_error() . "\n";}

看看有没有报错?

果然是
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??AUQ005' at line 1
我在文本框里输入了汉字,结果获取时成了乱码,但echo $valA的时候,结果是 豫AUQ005。  这是不是网页编码没设置的原因啊?  请问PHP怎么设置

$valA是正确的,echo  $sql的时候也没什么错误, 但就是执行的时候,那个汉字出错了

你是取不到$valA = $_POST["valA"];这个值

谢谢,按照mumubangditu的方法,发现是我输入的条件中汉字,而汉字没有被成功识别,请问怎么解决啊。


mysql_select_db("a1209173000");//填写数据库名
之后,加入
mysql_query('set names gbk');
这是被操作的数据与数据库默认字符集不一致造成的


mysql_select_db("a1209173000");//填写数据库名
之后,加入
mysql_query('set names gbk');
这是被操作的数据与数据库默认字符集不一致造成的

谢谢版主, 解决了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:求mysql查询汇总语句~Nächster Artikel:mysql 查询问题