Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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
Php 如果mySQL查询返回true,则返回JSON字符串_Php_Mysql - Fatal编程技术网

Php 如果mySQL查询返回true,则返回JSON字符串

Php 如果mySQL查询返回true,则返回JSON字符串,php,mysql,Php,Mysql,我有一个PHP代码,它将运行一个Select查询来检查是否存在一个特定的personName。如果存在,我们应该返回一个JSON声明,如果不存在,我们应该发送一个JSON响应声明相同内容 我的代码到目前为止 $rst= mysql_query("select* from Person where personname='Labby'"); while($r= mysql_fetch_array($rst) ){ // Now what ?? } //我如何知道$rst=mysql\u查

我有一个
PHP
代码,它将运行一个Select查询来检查是否存在一个特定的
personName
。如果存在,我们应该返回一个
JSON
声明,如果不存在,我们应该发送一个
JSON
响应声明相同内容

我的代码到目前为止

$rst= mysql_query("select* from Person
where personname='Labby'");


 while($r= mysql_fetch_array($rst) ){

// Now what ??
}
//我如何知道
$rst=mysql\u查询(“从Person选择*

其中personname='Labby'),返回true或false?并根据这一点创建JSON响应。如何执行此操作?

对于返回resultset的SELECT、SHOW、Description、EXPLAIN和其他语句,mysql_query()在成功时返回资源,在出错时返回FALSE

发件人:


对于返回resultset的SELECT、SHOW、DESCRIBLE、EXPLAIN和其他语句,mysql_query()在成功时返回资源,在出错时返回FALSE

发件人:


这里的诀窍是认识到如果它找不到任何东西,
$r
将为false,这意味着如果mysql找不到你想要的东西,循环将退出(或永远不会启动)

您可以执行以下操作:

$rst= mysql_query("select* from Person
where personname='Labby'");

$return = array();
while($r= mysql_fetch_array($rst) ){
    $return[] = $r;
}

if (count($return) > 0) {
    echo json_encode($return);
}
else {
    echo '{"success": false}'
}

显然,您需要将“true”和“false”返回值调整为对您的应用程序有意义的值。这里的诀窍是要认识到,
$r
如果找不到任何内容,将是false,这意味着如果mysql找不到您要找的内容,循环将退出(或永远不会启动)

您可以执行以下操作:

$rst= mysql_query("select* from Person
where personname='Labby'");

$return = array();
while($r= mysql_fetch_array($rst) ){
    $return[] = $r;
}

if (count($return) > 0) {
    echo json_encode($return);
}
else {
    echo '{"success": false}'
}

显然,您需要将“true”和“false”返回值调整为对您的应用程序有意义的值

或者将查询切换为使用
COUNT(*)
并检索值,或者使用(或mysqli或PDO等效项)。

或者将查询切换为使用
COUNT(*)
并检索值,或者使用(或mysqli或PDO等效项)。

在处理提取之前,应先测试
$rst
是否为空

if($rst)
    while($r = mysql_fetch_array)
Mysql\u查询文档:

返回值


对于返回resultset的SELECT、SHOW、DESCRIBLE、EXPLAIN和其他语句,mysql_query()在成功时返回资源,在出错时返回FALSE

对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE

返回的结果资源应该传递给mysql_fetch_array(),以及其他处理结果表的函数,以访问返回的数据

使用mysql_num_rows()可以找出SELECT语句返回了多少行,或者使用mysql_impacted_rows()可以找出DELETE、INSERT、REPLACE或UPDATE语句影响了多少行

如果用户没有访问查询引用的表的权限,mysql_query()也将失败并返回FALSE


在处理提取之前,您应该先测试
$rst
是否为空

if($rst)
    while($r = mysql_fetch_array)
Mysql\u查询文档:

返回值


对于返回resultset的SELECT、SHOW、DESCRIBLE、EXPLAIN和其他语句,mysql_query()在成功时返回资源,在出错时返回FALSE

对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE

返回的结果资源应该传递给mysql_fetch_array(),以及其他处理结果表的函数,以访问返回的数据

使用mysql_num_rows()可以找出SELECT语句返回了多少行,或者使用mysql_impacted_rows()可以找出DELETE、INSERT、REPLACE或UPDATE语句影响了多少行

如果用户没有访问查询引用的表的权限,mysql_query()也将失败并返回FALSE



mysql\u query
返回的结果资源id不是布尔值。这也没有意义
如果存在,我们应该返回一个JSON声明,如果不存在,我们应该发送一个JSON响应声明相同。
所以你需要准确定义
JSON
JSON响应
不要使用
mysql_
函数。它们已被弃用().Use
PDO
mysqli\uu
@JonathanM,
mysql\u
函数没有被弃用!弃用和不推荐之间有着巨大的区别。@有趣,简单,兄弟。它被弃用了,但很柔和。注意:
mysql\u query
返回的结果资源id不是布尔值。如果它是如果存在,我们应该返回一个JSON声明,如果不存在,我们应该发送一个JSON响应声明相同。
因此,您需要准确定义
JSON
JSON响应的含义。不要使用
mysql\uu
函数。它们已被弃用()。使用
PDO
mysqli\uuquo
@JonathanM,
mysql\uquo
函数并没有被弃用!弃用和不推荐的函数之间有着巨大的区别。@july,easy bro。它被弃用了,但很柔和。注意:您的意思是$rst.mysql\u num\u rows()?你能给我看一个示例代码吗?页面上有许多链接到的示例。你的意思是像$rst.mysql_num_rows()?你能给我看一个示例代码吗?链接到的页面上有许多示例。我这样做了,但在成功和失败时都返回成功。接下来我将尝试我们的quodlibetor代码,你可能还想查看各种链接页面,其中有很多示例。我这样做了,但在成功和失败时都返回成功成功。接下来我将尝试我们的quodlibetor代码,您可能还想查看各种链接页面,其中有很多示例。我得到了对未定义函数array_length()的调用
对,那是因为
数组长度
不存在。我的意思是说
计数
;已修复。我得到这个错误
调用未定义函数数组长度()
对,那是因为
数组长度
不存在。我的意思是说
计数
;已修复。