0

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

$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 ) [“类型”]=> int(0) }

4

3 回答 3

3

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

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

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

或者

"Select title from tblTitle where category='$col'";
于 2013-05-20T03:41:35.680 回答
1

在 php 中这样使用"Select title from tblTitle where category=".$col;

于 2013-05-20T03:41:39.010 回答
1

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

于 2013-05-20T04:22:29.910 回答