我有一个简单的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)}
答案 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文件。设置时一定有错误。我认为这样可以解决您的问题。给一试。快乐的编码:)