sql查询没有根据条件获取行

时间:2013-04-28 18:32:55

标签: php sql

我试图根据用户使用php发布的数据来获取一行。 以下是代码。 是他们的一些语法错误?

   Poll name: <input type="text" name="question" /><br />

    $question=$_POST['question'];

      $sql = "INSERT INTO poll_question(question)
       VALUES('" . $_POST['question'] . "')";
    $result = mysql_query($sql);

    $query=mysql_query("select * from poll_question where question = '$question'");

    $numrows=mysql_num_rows($query);

由于numrows的值仍为0,因此不会获取任何行。问题出在哪儿? 我已连接到数据库,“插入”查询运行良好,只有选择查询不起作用。

2 个答案:

答案 0 :(得分:0)

使用mysql-error()检查PHP引擎发生的错误。我认为你没有连接数据库。     

 //connect the databse

 $question=$_POST['question'];
   $q=mysql_query("select * from poll_question where question='$question'") or die(mysql_error());                  
  if($q)     //check the $q have any value
  {
    $sql = "INSERT INTO poll_question(question)
   VALUES('" . $_POST['question'] . "')";
    $result = mysql_query($sql) or die(mysql_error());

   // query for fetching records
     $query=mysql_query("select * from poll_question where question = '$question'") or die(mysql_error()); 

     $numrows=mysql_num_rows($query);
     if($numrows)
   {  
     echo "have rows!";
   }
   else
 {  
 echo "does not have rows";

}
}
else

{
echo " question is already exist";

}
    // form part

 ?>


   Poll name: <input type="text" name="question" /><br />
   <input type-"submit" name="submit" value="Submit">

答案 1 :(得分:0)

您必须传递数据库连接才能执行查询。例如,

// Connect to the database
$dbc = mysqli_connect('hostname', 'username', 'password', 'database');

$sql = "query text";

// pass the query to the database connection
$result = mysqli_query($dbc, $sql);

// close the database connection when you're done
mysqli_close($dbc);