Php “where子句”中的未知列“id”

Php “where子句”中的未知列“id”,php,Php,你知道为什么我在提交数据库时会出现这个错误吗 “where子句”中的未知列“id” 警告:mysql_num_rows:提供的参数不是第41行/home/someone/public_html/sendmessage.php中的有效mysql结果资源 while($success == FALSE) { $rand = rand(100000, 999999); $q = "SELECT * FROM $tablename WHERE id = '$rand'"; $r = mysql_

你知道为什么我在提交数据库时会出现这个错误吗


“where子句”中的未知列“id” 警告:mysql_num_rows:提供的参数不是第41行/home/someone/public_html/sendmessage.php中的有效mysql结果资源

while($success == FALSE) { 
$rand = rand(100000, 999999); 

$q = "SELECT * FROM $tablename WHERE id = '$rand'"; 
$r = mysql_query($q, $link);

echo mysql_error();


if(mysql_num_rows($r)) { **THIS IS LINE 41** 
    continue; 
} else { 
    $success = TRUE; 
} 
} 

您的表(其名称存储在$tablename中)没有名为id的列。这会导致查询失败,并且以下所有数据库函数也会失败。

这看起来不太好

首先确保该表中有一个列id。 注意,身份不是身份,也不是身份,也不是身份! 在绝对确定您拥有该列后,仍然会出现错误,请尝试使用 定量分数:

$q = "SELECT * FROM ". $tablename ." WHERE 'id'='". $rand."'";

试试这样的。谢谢

而$success==FALSE{ $rand=rand100000,999999

$q = "SELECT * FROM ". $tablename ." WHERE id = '". $rand ."'"; 
$r = mysql_query($q, $link);
$num_rows = mysql_num_rows($r);

echo mysql_error();


if($num_rows > 0) { **THIS IS LINE 41** 
    continue; 
} else { 
    $success = TRUE; 
} 
} 

干杯!

where子句中的未知列“id”


我也遇到了这个错误,我发现我调用的是另一个没有id属性的表。因此我建议您检查您的表名

该表是什么样子的?请发布该表的架构//在此处插入您的数据,$rand作为id$query=insert到$tablename值“$rand”、“$youremail”、“$name”、“$receiveremail”,“$message”;此注释与我的答案无关,也不包含表中的列。这些列是rand、youremail、name、receiveremail和message。rand将存储randonly生成的id并提交到数据库,但出于某种原因,如果您关心的列实际上被称为rand,而不是id,然后你必须这样引用它。好的,那么名为id的列在哪里?它不存在,这就是为什么你会收到错误消息。好的,我可以将$rand发送到数据库,但是其他4列没有接收到任何内容,变量都是一样的。这是结构。你能看到任何需要更改的内容吗?你可以从数据库中选择,so数据库只接收所述请求,如果有任何结果,它将返回匹配结果作为数组,因为rand应该是唯一的键,它将只返回一行,但由于我无法从图片中判断它是否设置为唯一,因此可能会收到多行,因此应相应地执行操作。$r不包含值s、 但是一个指向请求的指针使用mysql\u fetch\u array$r来获取值