300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 关于mysql_query返回值的问题

关于mysql_query返回值的问题

时间:2019-09-27 02:56:51

相关推荐

关于mysql_query返回值的问题

后端开发|php教程

关于mysql_query返回值的问题

后端开发-php教程

错误代码

源码完整破解,vscode设置注释颜色,Ubuntu的rm,安装双tomcat,sqlite3如何瘦身,爬虫被派出所短信拦截,php url传递参数,吉林seo推广公司,有网站源码怎么建站,网页日历插件,音乐网页设计模板html代码lzw

<?php/** * Created by PhpStorm. * User: Administrator * Date: /8/16 * Time: 15:37 */if(!isset($_POST[ ame])){ die(user name not define);}if(!isset($_POST[password])){ die(user name not define);}if(empty($_POST[ ame])){ die(user name is empty);}if(empty($_POST[password])){ die(user password is empty);}require_once connect_server.php;connectdb();$name=$_POST[ ame];$password=$_POST[password];$sql="select * from users WHERE name=$name AND password=$password";$result=mysql_query($sql);$new=mysql_fetch_assoc($result);if($new[ ame]==$name&&$new[password]==$password){ echo "alert(登陆成功);window.location=zhuye.php\";}else{ echo "alert(登陆失败);window.location=zhuye.html\";}

可运行代码

资产管理系统 c 源码,ubuntu网卡驱动软件,脚本之家 java爬虫,开发框架php,seo dns 劫持lzw

所有用户添加用户<?php$conn=connectDb();mysql_select_db( est,$conn);$result=mysql_query("SELECT * FROM users",$conn);$dataCount=mysql_num_rows($result);echo"

";?>

两段代码中的mysql_query的返回值一样,但是为什么一段函数在调用其返回值的时候出现警告如图

易语言钓鱼盗号源码下载,ubuntu终端光标移动,怎么去除家里爬虫,php焊接,seo 扩展程序lzw

回复讨论(解决方案)

"select * from users WHERE name=$name AND password=$password"

上面的代码是有问题的,name和password没有加引号,导致sql语法错误,最终没有返回资源类型,而返回了布尔值false

正确的代码应该是

"select * from users WHERE ame=$name AND password=$password"

$sql=”select * from users WHERE name=$name AND password=$password”;

改为:

$sql=”select * from users WHERE name=”.$name.”‘ AND password=”.$password.”‘”;

因为你$name,$password如果为空,会造成语法错误。

还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。

"select * from users WHERE ame=".$name." AND password=".$password

还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。

"select * from users WHERE ame=".$name." AND password=".$password

我又写错了。。。应该是这样

"select * from users WHERE name=\".$name." AND password=\".$password."\";

还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。

"select * from users WHERE ame=".$name." AND password=".$password

我又写错了。。。应该是这样

"select * from users WHERE name=\".$name." AND password=\".$password."\";

可否告知为什么

$sql=”select * from users WHERE name=$name AND password=$password”;

改为:

$sql=”select * from users WHERE name=”.$name.”‘ AND password=”.$password.”‘”;

因为你$name,$password如果为空,会造成语法错误。

可以告知为什么吗?

还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。

"select * from users WHERE ame=".$name." AND password=".$password

我又写错了。。。应该是这样

"select * from users WHERE name=\".$name." AND password=\".$password."\";

可否告知为什么

因为$name和$password在sql语句中应该是以字符串的形式出现的(也就是说得有单引号包起来$name和$password的值)

还是说,你想知道为什么要那么拼接单引号和双引号?

还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。

"select * from users WHERE ame=".$name." AND password=".$password

我又写错了。。。应该是这样

"select * from users WHERE name=\".$name." AND password=\".$password."\";

可否告知为什么

因为$name和$password在sql语句中应该是以字符串的形式出现的(也就是说得有单引号包起来$name和$password的值)

还是说,你想知道为什么要那么拼接单引号和双引号?

我想知道为什么拼接单引号和双引号还有为什么要用将变量放在..的中间,两个点的作用是什么

$sql=”select * from users WHERE name=$name AND password=$password”;

如果是数值型的$name和$password变量,可以在SQL语句中直接使用,如果是字符串类型的变量,需要加单引号

我把代码拆成三段,你应该能明白了。两个那个点是用来连接字符串的,意思是告诉PHP:点之后的变量是个字符串

"select * from users WHERE name=\"

" AND password=\"

"\"

就是说,每个单引号 / 双引号碰到第二个单引号 / 双引号时,那一段字符就结束了。这三段都是一个双引号里包单引号。。

我把代码拆成三段,你应该能明白了。两个那个点是用来连接字符串的,意思是告诉PHP:点之后的变量是个字符串

"select * from users WHERE name=\"

" AND password=\"

"\"

就是说,每个单引号 / 双引号碰到第二个单引号 / 双引号时,那一段字符就结束了。这三段都是一个双引号里包单引号。。

懂了~谢谢

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。