【发布时间】:2012-03-30 00:46:28
【问题描述】:
可能重复:
PHP Error: mysql_fetch_array() expects parameter 1 to be resource, boolean given
这就是我的错误:
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/content/12/8781812/html/internal/domain/property/process.php on line 17
代码是:
function checkTOS($username){
include("includes/opendb.php");
$user2check = mysql_real_escape_string($_POST['username']);
$query = "SELECT * FROM user WHERE username=".$user2check;
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$TOS = $row[11];
}
if($TOS == 1){
return true;
}else{
return false;
}
}
第 17 行是:
while($row = mysql_fetch_row($result)){
这基本上是检查用户是否接受了主用户数据库中的服务条款。
编辑:
所以我修复了它,但现在当我尝试打印我的行时我什么也没得到......这是新代码。
function checkTOS($preusergrab){
include("includes/opendb.php");
$query = "SELECT * FROM users WHERE username='".$preusergrab."'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_row($result)){
$TOS = $row[11];
}
// echo $query;
print_r($row);
die();
【问题讨论】:
-
您必须在查询中将值括在单引号中。即
$query = "SELECT * FROM user WHERE username='".$user2check."'"; -
@Rook 这有什么问题呢?
-
@JD Audi 您显然不了解引号是什么以及我们为什么需要它们的基础知识。通过扩展,您不知道 mysql_real_escape_string 的作用以及在查询中使用它的原因。使用 PDO 或 ADOB 等参数化查询。
-
使用参数化查询,这就是我在帖子中所说的。该死的。
-
stackoverflow.com/… 5,000+ 次重复。 google.com/… 360 万。