1
66beta 2016-06-16 09:59:11 +08:00
val_dump 打印$result 自己看
|
2
jswh 2016-06-16 10:00:42 +08:00
出错了吧, mysql_query 里也没见 connect
|
3
alex321 2016-06-16 10:03:42 +08:00
$result 没结果。。参见官方手册: http://php.net/manual/en/function.mysql-query.php 。
然后,换到 mysqli 吧。。。 |
4
lyp111332 OP |
5
JiShuTui 2016-06-16 10:08:23 +08:00
mysql_arrray 第一个参数必须是资源 resource 类型,结果你给了布尔 boolean 类型
所以 $result 是布尔类型,而且可以推测出是 FALSE ,也就是说 mysql_query($sql) 返回 FALSE 了, sql 语句没有正确执行 |
6
JiShuTui 2016-06-16 10:10:01 +08:00
你把 $sql 打印出来看看拼出来的 sql 语句是啥
|
8
lyp111332 OP @JiShuTui $sql= "select * from admin where username='{$username}' and password='{$password}'"
|
9
wesley 2016-06-16 10:29:20 +08:00
1. 你的 mysql 连接在哪里?
2. mysql_*系列函数在 php7 中已经移除 3. mysql_query 还少个参数 |
10
raincious 2016-06-16 10:29:30 +08:00
> 噢,那请问下如何将布尔 boolean 类型改为资源 resource 类型
噗。 $result=mysql_query($sql); if (!$result) { return false; } |
11
lyp111332 OP @wesley mysql 连接 con = mysql_connect("localhost","root","root");
if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("emp", $con); mysql_set_charset(utf8); 我现在用的是 php5.4 |
12
raincious 2016-06-16 12:02:55 +08:00
@lyp111332
你应该更仔细的检查一下边际情况。 `mysql_select_db`,`mysql_set_charset`这两个函数都会在错误的时候返回 false ,你需要检查它们的执行结果,而不是盲目的假定他们执行了而跳过检查。 建议你还是用一个数据库操作类来处理与 MySQL 的交互,比如用 http://medoo.in ,而不要自己手动去做。 |
13
Jakesoft 2016-06-16 12:28:41 +08:00
总对用 mysql_query 函数持鄙夷的眼光,我这是什么心态?
|
15
touch 2016-06-16 17:24:28 +08:00
赶紧换 PDO 吧
|
16
leetao94 2016-06-16 17:27:39 +08:00
为啥不换 PDO
|
17
Sunyanzi 2016-06-16 18:34:16 +08:00 8
只有我觉得 LZ 的问题整个都很奇怪吗 ... mysql 扩展根本就没有 mysql_arrray 这么个函数 ...
语句报错和错误代码说的应该都是 mysql_fetch_array 的事 ... 我想不通为什么复制都能复制错 ... 楼上都在说楼主得到这个错误可能的原因 ... 而我根本不打算解释这个 ... 因为说对了也没意义 ... 一直以来我都在各种时间各种地点反复不停的重申不要用 mysql 系列的函数 ... 看来还是收效甚微 ... 现在 2016 年都过去一半了我居然还是能看到这么连数据库的新人 ... 略可悲 ... 说回正事 ... 如果你只是想连数据库的话 ... 把你现在所有跟数据库有关的代码都删了换成下面的 ... 这代码我专门为你写的 ... 我故意没贴文本而是贴的图 ... 你需要照着我写的重新自己手打一遍 ... 代码不长 ... 我简化了各种东西只留下核心部分 ... 你也过过脑子 ... 别总是复制粘贴吃现成的 ... 第四行到第七行的四个类常量是配置 ... 需要按你的环境改 ... 其他保持不动就可以 ... 这是教学类的代码 ... 并不适合生产 ... 不够优化而且 PDO->query 和错误详情什么的我也没写 ... 总之先学会走再想办法跑起来 ... 等你习惯 prepare / execute 之后再自己来优化我这个例子就好 ... 使用方法在下面象征性的给你写了几个 ... 虽然不强求但最好养成大小写和使用 backtick 的习惯 ... 大体就是这样 ... 你有什么问题再问吧 ... 以及赶紧把过时的教程扔了 ... 实在太误人子弟 ... |
18
ragnaroks 2016-06-16 20:47:40 +08:00
没有框架的话,建议立刻使用 PDO.
|
19
eoo 2016-06-16 22:44:35 +08:00 via Android
mysqli pdo 按自己需要你选一个
|
21
Sunyanzi 2016-06-17 00:02:00 +08:00
@Jakesoft 类不是一定要实例化成对象才能用的 ... 我例子里的这个 database 类就是个静态类 ...
因为准备让 LZ 手抄代码才没写 abstract 上去 ... 毕竟这例子讲的是数据库操作而不是面向对象 ... 另外针对楼上诸多只留下一句「用 PDO 」的回复我再补一句 ... PDO 和 MySQLi 不是解决方案 ... 虽然我例子里也用了 PDO 但更重要的是我用了 PreparedStatement ... 这才是我要突出的重点 ... 不要觉得用 PDO 就没事了 ... 如果你保持这个用户输入直接进 SQL 的习惯 ... 谁也救不了你 ... |
24
cxbig 2016-06-17 07:59:29 +08:00
换 PDO+1
不要浪费时间探讨被淘汰的东西 |
26
lyp111332 OP @Sunyanzi 我是看慕课网的视频在学的。= = 这个方法过时了 那请问下该去哪里学习才能学习到不过时的方法。。
|
29
Sunyanzi 2016-06-17 13:13:44 +08:00
|