SQL查询后PHP var_dump NULL错误

标签 php mysql variables null var-dump

您好,我有一个网站,当用户从网页中选择一个品牌后,该网站会查询 CarID。因此,将执行 SELECT 查询,然后将 CarID 值传递给 PHP 变量。然而,目前我用来调试问题的 var_dump 给出了一个 NULL 值,即使执行 SQL 语句没有错误。

数据库表:enter image description here

代码:

<?php // register.php
session_start();
include "dbconn.php";


$carcat = $_SESSION['selectedcarcat'];
$carbrand = $_POST['carbrand'];
$userid = $_SESSION['loginid'];
$username = $_SESSION['loginname'];
$startdate = $_POST['date1'];
$enddate = $_POST['date2'];
$pick = $_POST['pickuploc'];
$return = $_POST['returnloc'];
$calqty = 0;


    $selcaridsql = "SELECT carid FROM cars WHERE brand='$carbrand' ";
    
    echo $selcaridsql."<br>";

    $caridresult = $dbcnx->query($selcaridsql);

    echo "<br>".var_dump($caridresult);

    if ($caridresult->num_rows >0 )
      {
        echo '<br>Hello more than 1 <br>';  
      }

    else
    {
        echo '<br>Hello less than 1 <br>';
    }


    $caridrow = mysql_fetch_array($caridresult);

    echo var_dump($caridrow)."<br>"; 

    $carid = $caridrow['carid'];

    echo var_dump($carid)."<br>"; 
    
    if (!$caridresult) 
    {
        $errmessage = "Your carid select query failed.";
        echo "<script type='text/javascript'>alert('$errmessage');</script>";
    }


    echo '<br>Debug 1 ';
    echo '<br>The selected qty is '
        .$qtyresult1.'<br />';
    echo '<br>The calculated qty is '
        .$calqty.'<br />';
    echo '<br>The content carid is '
        .$carid.'<br />';
    echo '<br>The content userid is '
        .$userid.'<br />';
    echo '<br>The content start is '
        .$startdate.'<br />';
    echo '<br>The content end is '
        .$enddate.'<br />';
    echo '<br>The content pick is '
        .$pick.'<br />';
    echo '<br>The content return is '
        .$return.'<br />';
        echo '<br>The content carbrand is '
        .$carbrand.'<br />';
?>

当前输出的结果:

SELECT carid FROM cars WHERE brand='Honda' 
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(1) ["lengths"]=> NULL ["num_rows"]=> int(1) ["type"]=> int(0) } 

Hello more than 1 
NULL 
NULL 

Debug 1 
The selected qty is 

The calculated qty is 0

The content carid is 

The content userid is 

The content start is 2016-10-28

The content end is 2016-10-29

The content pick is jurong

The content return is bishan

The content carbrand is Honda

看起来查询能够检索数据,但我不知道为什么该值会是 NULL。我已经尝试将 SQL 语句直接写入数据库并且它可以工作。

谢谢。

最佳答案

当您尝试使用 mysql_fetch_array 获取结果时,您的结果来自 mysqli_query。尝试使用 mysqli_fetch_array 获取结果。

但是,如果您使用您的数据库类(与您在 `$dbcnx->query 中使用的相同)来获取结果会更好,或者如果该类没有这样的方法,您可以添加它。

关于SQL查询后PHP var_dump NULL错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278752/

相关文章:

mysql - 如果 IN TableB.Code,则从 TableA.Code 中选择

linux - 在 for 循环 |bash 中为变量赋值时出现问题

php - 全文 bool 模式和mysql中的like之间的区别?

php - 为什么PHP更新数据没有被选中?

import - MySQL导入导致 "server has gone away"错误

c# - 如何创建可以在应用程序中的任何位置设置/获取的应用程序范围变量? (WPF/MVVM)

c++ - 从二进制缓冲区初始化变量的正确方法是什么?

php - 将经验值添加到数据库 php

php - 如何在php数组中存储字符串变量

android - Android 上的自定义图片库