PHP 的结果是 sql 数组未打印到屏幕


PHP results from sql array not printing to screen

我有一个数据库,我正在查询它,并将结果回显到屏幕上。这些行一直回显到从数据库返回的数组中获取信息为止。我似乎无法找出为什么省略数据。

case 'search':
echo "<br>";
echo "searching: ".$firstname;
echo "<br>";

$sqlsearch="SELECT * FROM Customer WHERE firstname='$firstname'";

$data = mysql_query($conndb, $sqlsearch);
//$row = mysql_fetch_array($results);
while($row = mysql_fetch_array($data));
{
echo "firstname: ".$row['firstname']."<br>";
echo "lastname: ".$row['lastname']."<br>";  
echo "phone: ".$row['phone']."<br>";
echo "address: ".$row['address']."<br>";
echo "city: ".$row['city']."<br>";
echo "state: ".$row['state']."<br>";
echo "zip: ".$row['zip']."<br>";
echo $sqlsearch;
break;
}
echo "<br>";
echo "seaching 2";
mysql_close($condb);
break;

如果我运行这个,搜索我在数据库中输入的名字为"Jon"的用户,所以我知道连接正在工作,至少对于输入,输出如下所示:

searching: Jon
firstname: 
lastname: 
phone: 
address: 
city: 
state: 
zip: 
SELECT * FROM Customer WHERE firstname='Jon'

客户是一个表,其中包含以下字段的名字、姓氏、电话、地址、城市、州、邮政编码。这些是列的确切名称和大小写。我没有将任何一个字段列为主键,因为我没有以这种方式设置它。

并不是

说我应该推广mysql_函数,因为它们已被弃用,但是您是否尝试过切换参数?

mysql_query($conndb, $sqlsearch);

应该是

mysql_query($sqlsearch, $conndb);

根据这些文档:

http://php.net/manual/en/function.mysql-query.php

请注意该页面顶部的巨大警告以及它如何建议使用 mysqli 或 PDO