Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mySQL查询在PHPmyAdmin中工作,但不在PHP文件中工作_Php_Mysql - Fatal编程技术网

mySQL查询在PHPmyAdmin中工作,但不在PHP文件中工作

mySQL查询在PHPmyAdmin中工作,但不在PHP文件中工作,php,mysql,Php,Mysql,我对我的一个问题有意见。我有一个查询,显示特定帐户的数据库联系人列表。当我把它放到phpMyAdmin中时,我得到了1个预期结果。当我尝试从php执行相同的查询时,我没有得到任何结果 <?php $getContacts="SELECT * FROM `accountContactDetails` where acNo='ZZZ001' "; $contactsResults = $conn->query($getContacts);

我对我的一个问题有意见。我有一个查询,显示特定帐户的数据库联系人列表。当我把它放到phpMyAdmin中时,我得到了1个预期结果。当我尝试从php执行相同的查询时,我没有得到任何结果

<?php 
            $getContacts="SELECT * FROM `accountContactDetails` where acNo='ZZZ001' ";
            $contactsResults = $conn->query($getContacts);

                if ($contactsResults->num_rows > 0) { 

                    while($contact = $contactsResults->fetch_assoc()) { 

                        echo $contact['email'];

                     } 

                 }  

                 var_dump($contactsResults); 
                 echo $getContacts; 
        ?>

底部带有vardump和query execcuted的行输出此。。 bool(false)从
accountContactDetails
中选择*其中acNo='ZZZ001'

当我将完全相同的查询复制到PHPmyAdmin中时,我得到一个结果。这与数据库连接无关,因为这在该查询之前和之后的文件中都起作用

有人能想一想为什么这可能不会带来结果吗?非常感谢您的帮助

试试这个查询

$getContacts="SELECT * FROM accountContactDetails where acNo = {$acNo}";
请尝试此查询

$getContacts="SELECT * FROM accountContactDetails where acNo = {$acNo}";

尝试在FROM子句中指定数据库:

SELECT * FROM myDatabase.accountContactDetails WHERE acNo='$acNo';
这也应该是一份事先准备好的声明,正如他们上面所说:

$sql = 'SELECT * FROM myDatabase.accountContactDetails WHERE acNo=?';
$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $acNo);

尝试在FROM子句中指定数据库:

SELECT * FROM myDatabase.accountContactDetails WHERE acNo='$acNo';
这也应该是一份事先准备好的声明,正如他们上面所说:

$sql = 'SELECT * FROM myDatabase.accountContactDetails WHERE acNo=?';
$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $acNo);

警告:使用
mysqli
时,您应该使用和将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能是非常有害的。下面我们再看一篇不清楚的帖子。不确定它是如何不清楚的?但感谢您的创造性输入。其他查询是否按预期工作?您是否尝试过剥离代码或查询以确认更简单的版本是否有效?如果您在while循环中转储
$contact
的内容,会发生什么情况?与其说是不清楚,不如说是不必要的复杂。你需要为这个问题混合使用PHP/HTML吗?你试过在没有其他东西的情况下进行测试吗?是的,页面上的所有查询都很好。我甚至从查询字符串中删除了变量,只使用了我正在测试的特定帐号。我将测试它没有中间的HTML,看看这是否造成了问题。谢谢你的回答!警告:使用
mysqli
时,您应该使用和将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能是非常有害的。下面我们再看一篇不清楚的帖子。不确定它是如何不清楚的?但感谢您的创造性输入。其他查询是否按预期工作?您是否尝试过剥离代码或查询以确认更简单的版本是否有效?如果您在while循环中转储
$contact
的内容,会发生什么情况?与其说是不清楚,不如说是不必要的复杂。你需要为这个问题混合使用PHP/HTML吗?你试过在没有其他东西的情况下进行测试吗?是的,页面上的所有查询都很好。我甚至从查询字符串中删除了变量,只使用了我正在测试的特定帐号。我将测试它没有中间的HTML,看看这是否造成了问题。谢谢你的回答!结果是我在错误的数据库中创建了表。这是一个愚蠢的错误(对我来说,这是漫长一天的结束),很抱歉浪费了你的时间。结果我在错误的数据库中创建了表。如此愚蠢的错误(对我来说这是漫长一天的结束)为浪费你的时间道歉。