1

我有这个小代码片段,但它现在并没有真正工作。我总是遇到资源 id#5 错误。我在 google 中搜索了一些指针,但没有找到 mutch 来解决这个问题。这是我的代码

<?php
include 'load_db.php';

$var1 = $_POST["gender_1"];
$var2 = $_POST["gender_2"];
$var3 = $_POST["age"];

$sql = mysql_query("SELECT url FROM links WHERE gender ='".$var1."' AND gender1 ='".$var2."' AND age ='".$var3."'");

$result_1 = mysql_query($sql)
OR die("Error: $sql </br>".mysql_error());

echo $result_1;
?>

错误:资源 ID #5

4

2 回答 2

4

您正在使用两次mysql_query(),请mysql_query()从以下位置删除$sql

$var1 = mysql_real_escape_string($_POST["gender_1"]);
$var2 = mysql_real_escape_string($_POST["gender_2"]);
$var3 = mysql_real_escape_string($_POST["age"]);

$sql = "SELECT url FROM links WHERE gender ='".$var1."' AND gender1 ='".$var2."' AND age ='".$var3."'";
$result_1 = mysql_query($sql) OR die("Error: $sql </br>".mysql_error());

然后循环结果:

while($row = mysql_fetch_array($result_1)){
    print_r($row);
}
于 2012-10-02T07:47:10.727 回答
0

几点建议:

  1. 尽管您创建了 3 个局部变量 var1、var2、var3,但您仍然对 mysql 插入可用的漏洞持开放态度。您应该研究一下。
  2. 你的代码:
$sql = mysql_query("SELECT url FROM links WHERE gender ='".$var1."' AND gender1 ='".$var2."' AND age ='".$var3."'"); 
$result_1 = mysql_query($sql)  OR die("Error: $sql </br>".mysql_error());

你调用 sql_query 两次..

将 $sql 更改为

$sql = "SELECT url FROM links WHERE gender ='".$var1."' AND gender1 ='".$var2."' AND age ='".$var3."'"; 
于 2012-10-02T07:55:39.960 回答