通过php从mySQL接收数据

时间:2014-11-10 09:20:45

标签: php mysql

任何人都可以解释为什么我从下面的脚本中得不到任何结果:
当我在phpmyadmin中运行查询时它会返回正确的结果(id),但运行我的下面的php脚本吧echo's out "No row found!";

<?php
if(isset($_SESSION['word'])) {
  $word = $_SESSION['word']."<br>";
    echo $word;
    $query = ("SELECT id FROM customer WHERE mobil = $word");
    if (!$query) {
    die('Invalid query: ' . mysql_error());
    }
    else {  
            $results = mysql_query($query);
            while ($row = mysql_fetch_assoc($results)) {
            echo '<pre>', print_r($row), '<pre>';
        }
            if (!$row) {
                echo "No row found!";
            }
        }
}
?>

6 个答案:

答案 0 :(得分:2)

您的查询无效,应该是这样的:

$query = mysql_query("YOUR QUERY");

此外,您不应该使用Mysql_,因为这已被弃用,很快就会删除。 请改用PDO或MySQLI。您可以在这里找到更多信息:

Why shouldn't I use mysql_* functions in PHP?

答案 1 :(得分:0)

试试这个

    $results = mysqli_query($query);
     if(mysqli_num_rows($results)>0){
        while ($row = mysqli_fetch_assoc($results)) {
        echo '<pre>', print_r($row), '<pre>';
    }
     else{
            echo "No row found!";
        }
    }

答案 2 :(得分:0)

试试这个:

$query = ('SELECT id FROM `customer` WHERE mobil = "$word" ');

答案 3 :(得分:0)

应该是,

<?php
require_once("db_connect.php");
  if(isset($_SESSION['word'])) {
     $word = $_SESSION['word']."<br>"; //Getting word here       
     $query = "SELECT id FROM customer WHERE mobil = $word";
     $result = mysqli_query($db,$query); //$db holds the database connection
     if (!$result) 
       {
         die('Invalid query: ' . mysqli_error($db));
      }
     else
    {
     $result_rows = mysqli_num_rows($result); //Getting the no. of rows
     if($result_rows!=0)                      // If any record present,the below code executes
     {
       while ($row = mysqli_fetch_assoc($result)) 
       {
            echo '<pre>', print_r($row), '<pre>';
        }
     }
     else
     {
       echo "No rows found";                 // If no record found,this prints.
     }
   }
 }
 ?>

数据库连接(db_connect.php):

$db = mysqli_connect("localhost","username","password","database_name");

注意 Mysql 已弃用。您应该使用 Mysqli PDO

答案 4 :(得分:0)

您的查询错误。

改变这个:

$query = ("SELECT id FROM customer WHERE mobil = $word");

要:

$query = ("SELECT id FROM customer WHERE mobil = '".$word."'");

但您的代码存在许多安全问题。

答案 5 :(得分:0)

更新和解决 我的上面的脚本运行正常,感谢@CodingAnt(谁问:这个mobil字段包含哪些数据类型?) - 我检查了我的数据库,结果发现mobil设置为VARCHAR而不是INT。将其更改为INT,现在一切正常。