PHP连接但无法查询MYSQL数据库

时间:2015-03-12 23:04:25

标签: php mysql

我用php查询mysql数据库,但无法让它在我的iMac上运行。特别是,php无法连接到mysql DB。它连接到mysql并选择数据库,但随后失败。请参阅以下代码:

if (!mysql_connect($db_host, $db_user, $db_pwd)){
    die("I cannot connect to database");
}
if (!mysql_select_db($database)){
    die("I cannot select database");
}

$sql = "SELECT FROM ${table} ORDER BY $sql_orderBy";
$result = mysql_query($sql);
if (!$result) {
    die("I cannot execute query to show fields from Table: {$table}. Query failed.");
}

作为参考,我用macports安装了apache / mysql / php。相同的PHP代码在我的笔记本电脑上工作(相同的安装),当我从两台计算机上的mysql中调用它时,查询工作。声明所有变量。使用系统配置的东西是我最好的猜测,但我甚至进行了卸载/安装。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

您的问题是${table}。这应该是{$ table}或者更好,"。$ table。"

你还需要说明你是什么选择: 所以:

$sql = "SELECT * FROM ".$table." ORDER BY ".$sql_orderBy;

您可以在查询结尾处使用Mysql_error()发现问题,例如:

mysql_query($sqlString) or die("line: ".__LINE__.":".mysql_error()); 

这将输出有关您的SQL语句的明确错误消息。这不是为了生产和公共场合,而是为了发展。

此外:

MySQL 已弃用 ,PHP或更广泛的社区不再支持它,非常强烈建议您使用MySQLi或PDO并使用这些方法,因为它们是更强大,更少缺陷和更有效的结果交付。它们也将在未来的更新和开发中得到支持,而MySQL则不会。