PHP中的查询没有结果

时间:2014-06-24 11:59:39

标签: php mysql database

我为连接和数据获取创建了没有错误的代码,但我不知道为什么查询的结果是bool(false)

 <?php
 $con=mysql_connect("localhost","root","","xyz");
 echo "Connection made";

// Check connection
if (mysqli_connect_errno()) {
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>

查询和执行的代码是

<?php
include ("includes/connection.php");
$query="SELECT * FROM userdata ";
$result=mysql_query($query);
var_dump($result);
?>

这里需要帮助

3 个答案:

答案 0 :(得分:1)

你应该使用mysql或mysqli。这是错误的主要问题

<?php
$con=mysqli_connect("localhost","root","","xyz") or die ("error in connection".mysqli_error($con);
?>

并使用$result= mysqli_query($con, $sql)其中$ sql包含您的查询

答案 1 :(得分:0)

  1. 不要使用mysql_ *函数,而是使用mysqli或pdo代替它们。
  2. 您需要使用诸如mysql_fetch_array()或mysql_fetch_row()之类的提取函数来获取查询结果,以获得查询结果。 PHP手册中有很多例子。
  3. 在你的事业中,它会是这样的:

      <?php
      $con=mysql_connect("localhost","root","") or die("didn't connect to db");
      mysql_select_db('name_of_your_db', $con);
      $query="SELECT * FROM `userdata` ";
      $result=mysql_query($query); //this returns resource ID that needs to be fetched
    
      while($row = mysql_fetch_row($result))
         print_r($row);
    

    如果$ result为false,则表示查询失败,可能是由多个问题引起的,例如没有选择DB,没有连接等。

    我还为您提供了更好的PDO解决方案

    <?php
    
    $dsn      = 'mysql:dbname=nameofyourdb;host=127.0.0.1';
    $user     = 'root';
    $password = 'yourpass';
    
    try
    {
       $db = new PDO($dsn, $user, $password);
       foreach ($db->query("SELECT * FROM `userdata`") as $row)
                print_r($row);
    }
    catch (PDOException $e)
    {
       echo 'Connection failed: ' . $e->getMessage();
    }
    
    ?>
    

答案 2 :(得分:0)

正如我在评论中所述,你在那里回应告诉你你连接到mysql服务器是没有效果的。我从我那里拿出一个旧函数来向你展示如何做到这一点,并明确错误的位置。

$con = mysql_connect('localhost','root','');    
$db = mysql_select_db('xyz',$con);

function OpenConnection(){
    global $con;
    global $db;
    if (!$con){
        die('cannot connect to server!');
    }else{
        if(!$db){
            die('cannot connect to database!');
        }
    }
}

如果你没有得到任何回报,那么你将会很高兴。

相关问题