基于MySQL的变量在PHP中显示为NULL
以下代码位于我正在构建的php文件中。我正在构建一个动态表单,它将在HTML div中显示产品名称和其他信息。现在,我遇到了一个问题,我认为这可能是一个相对简单的问题。我最初试图基于MySQL的变量在PHP中显示为NULL,php,mysql,Php,Mysql,以下代码位于我正在构建的php文件中。我正在构建一个动态表单,它将在HTML div中显示产品名称和其他信息。现在,我遇到了一个问题,我认为这可能是一个相对简单的问题。我最初试图回显$name但是它是空的,所以我放了一个测试回音,看看它是否回音到了一个与我预期不同的地方,但是没有,测试马上就出来了。所以,我做了一个var_转储($name),结果显示为空。我在回显它之前在行中定义它,那么为什么它会显示为NULL呢 <?php $productquery = mysqli_query($co
回显$name代码>但是它是空的,所以我放了一个测试回音,看看它是否回音到了一个与我预期不同的地方,但是没有,测试马上就出来了。所以,我做了一个var_转储($name)代码>,结果显示为空。我在回显它之前在行中定义它,那么为什么它会显示为NULL呢
<?php
$productquery = mysqli_query($connection, 'SELECT * FROM products WHERE PID="$productID"');
$productrow = mysqli_fetch_assoc($productquery);
//$dbIDlogin = $row5['ID'];
?>
<?php
$name = $productrow['Productname'];
echo var_dump($name);
echo "<br>Why?";
?>
第二次更新:
显然$productID为空。所以我试着把它设为4。我现在有了这个,但它仍然不起作用。我试着用引号把4括起来,单引号和双引号,所以这不是问题所在。但在我定义它之后,它仍然说它是空的
$productID=4;
$productquery = mysqli_query($connection, 'SELECT * FROM products WHERE PID="$productID"');
$productrow = mysqli_fetch_assoc($productquery);
$productrow['Productname']为空
用$productrow的vardump/print\r语句找出您的查询实际返回的是什么,$productID是否包含有效数字
您将希望遍历结果!假设只有一个结果,并且不需要迭代
此外,请尝试显示查询找到的行数:
$num_rows = mysql_num_rows($productquery);
看来主要问题是我使用了单引号:
'SELECT * FROM products WHERE PID="$productID"'
"SELECT * FROM products WHERE PID=$productID"
而不是双引号:
'SELECT * FROM products WHERE PID="$productID"'
"SELECT * FROM products WHERE PID=$productID"
尝试var\u dump
ing所有其他变量。并启用错误报告。是否可以尝试使用var\u dump($productrow)
查看其中的内容?$productID确实包含有效数字。小心那些不推荐使用的代码。我正在测试。好吧,显然我错了。。。这不是一个有效的数字。我不知道为什么,在这之前我定义了几行。。。