为什么mysql_query无法正常工作?

时间:2014-03-22 19:13:07

标签: php mysql

有人可以帮我弄清楚mysql_query无法正常工作的原因吗?

<?php
$dbhost = "localhost";
$dbusername = "USERNAME";
$dbpassword = "PASSWORD";
$dbname = "DB_NAME";
$connection = mysql_connect($dbhost, $dbusername,$dbpassword) or die('Could not connect');

$db_selected = mysql_select_db($dbname, $connection) or die(mysql_error());
echo " connect... \n";
$result = mysql_query("select * from test",$db_selected);
while($row = mysql_fetch_array($result))
  {
  echo $i++;
  echo "Id : " . $row['Id'] . " Name : " .$row['name'] . " Address : " . $row['address'];
  echo "<br>";
  }
?>

结果: 连接...

2 个答案:

答案 0 :(得分:1)

您必须在$connection中使用$db_connected代替mysql_query。请参阅man page

您没有看到错误这一事实意味着您的错误报告未正确配置;检查您的php.inithis answer

因为你提取数字数组而不是关联数组(使用mysql_fetch_assoc()),它无论如何都不会工作,这是需要$rec['Id']语法(而不是$rec[3])。

但是,如果您刚刚开始使用PHP和MySQL,不要使用mysql_ *函数。它们已弃用,很快就会删除,您将浪费时间学习不再使用的内容。请改用PDO。有点难以掌握,但是lightyears better

答案 1 :(得分:0)

如果您想按名称引用列,则必须使用mysql_fetch_assoc($result)而不是mysql_fetch_array($result))

但是也不要使用它们。使用mysqli_*函数代替或更好地使用pdo

echo $i++因未定义而无法生成任何内容