PHP简单的查询问题,返回结果是一片空白

一个最简单的查询界面,查询提交的chepai列值对应的name列值。
但是提交后返回的是个空白页,求看看问题出在哪。

<?php
error_reporting(0);
$conn=mysql_connect("localhost","root","root");//填写数据库连接信息
mysql_select_db("a1209173000");//填写数据库名
$valA = $_POST["valA"];
if($valA!=""){
$sql = "select * from 表名 where chepai='".$valA."'";
$result=mysql_query($sql);
while($arr=mysql_fetch_array($result))
{
echo $arr["name"]."<br>";
}
}else{
?>
<form method="post" action="?">
输入A值:<input type=text name="valA"/>
<input type="submit" value="查询">
</form>
<?php
}
?>
经判断,发现程序是断在while 句了,while前放个echo可以输出, 放在while里的不行。
这是什么问题啊。

1、检查你数据库里的表数据正确否;
2、多打些echo,定位到哪一行代码出现问题;
比如在$valA = $_POST["valA"];后加入echo $valA;判断你的提交的数据获取到没。

这样就定位到问题所在了。追问

1 数据库、表、记录没有问题
2 通过按你说的方法多加了几条echo,在
echo "4";
while($arr=mysql_fetch_array($result))
{
echo "5";
}
发现4能输出, 5不能,看来是while条件没有被触发, 这是为什么呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-16
where chepai='".$valA."'"; => where chepai=''.$valA.''";

栏位名称不要用中文
电脑这东西再怎么依旧是英文版的
用中文原本就很容易出错追问

把=后面的单引号去了能对吗? =号后面是一个字串值,你后面都单引号前面没有那不出错才怪。

还有栏位名都是英文,没有中文

第2个回答  2013-12-16
整体的代码没啥问题啊,你的sql语句有错吗?echo出来放到phpmyadmin里运行一下看看追问

echo出来的sql语句在phpmyadmin里能执行,也给出了正确的结果。
通过采用楼上的方法,定位到是whie那一句没有执行,什么问题呢这是??

第3个回答  2013-12-18
$sql = "select * from 表名 where chepai='$valA'";这样的你在试下。
*表名改回来
第4个回答  2013-12-16
把error_reporting(0);这句注释掉,你就能看到报错信息了