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_
函数。它们已被弃用().UsePDO
或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()的调用
对,那是因为数组长度
不存在。我的意思是说计数
;已修复。我得到这个错误调用未定义函数数组长度()
对,那是因为数组长度
不存在。我的意思是说计数
;已修复。