MySql查询:'where子句'中的未知列

时间:2013-05-20 03:39:44

标签: php mysql

我有一个简单的select语句,在我的php文件中有一个where子句,如下所示:

$con=mysqli_connect("hostname", "user", "pw", "db");    
if (mysqli_connect_errno($con))
{
    echo "Failed to connect to mySQL: " . mysqli_connect_error();
}
$getTitle = mysqli_query($con, "SELECT title FROM tblTitle WHERE category='" .$col."'") or die("ERROR: ". mysqli_error($con));

我已根据建议更改了我的代码,并在我的变量上添加了引号,但现在我在$ getTitle行遇到了内部服务器错误。我在这里做错了吗?我无法打印错误,所以我无法指出发生了什么。

更新:正如所建议的那样,我在$ getTitle上使用了var dump,这是我收到的消息。

object(mysqli_result)#5(5){[“current_field”] => int(0)[“field_count”] => int(1)[“lengths”] => NULL [“num_rows”] => int(1)[“type”] => int(0)}

3 个答案:

答案 0 :(得分:3)

$col应在引号内,否则看起来像category=music而Mysql假定music是一列。

如果您使用的是PHP,请使用

"Select title from tblTitle where category='".$col."'";

"Select title from tblTitle where category='$col'";

答案 1 :(得分:1)

在php "Select title from tblTitle where category=".$col;

中使用这样的内容

答案 2 :(得分:1)

这意味着您的错误权限设置存在问题。请先检查您的数据库以及文件权限。如果您在Linux中,请将文件权限更改为644.看看您的.htaccess文件。设置时一定有错误。我认为这样可以解决您的问题。给一试。快乐的编码:)