
正文
包含sql语句php不执行mysql执行的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP脚本执行一个SQL语句失败,但相同语句放到MYSQL中能成功执行
1、看看你的数据库是不是连接成功了。 另外看看你的sql是不是有写错了。
2、你应该把这个插入代码做成存储过程,把数据作为参数,不需要每次插入数据都生成一个存储过程。exec是执行单条语句的,应该只执行了第一条,后面多的都没有执行。
3、数据类型不同,ID对应的是数字,用引号就是文本了,肯定会出问题。
相关问答
Q1: 为什么我用的SQL语句可以在PHPmyadmin里执行,确无法在PHP里执行呢?
1、mysql_query($sql);是执行一条SQL语句, 而你传入的$sql,里有2条。你可以分开来。一条 DROP TABLE if exists `install`,`user`,`theme`,`reply`;然后建表重新弄一条语句。
2、exec是执行单条语句的,应该只执行了第一条,后面多的都没有执行。
3、应该是入库的数据没有做处理,入库的时候应该将特殊字符加转义符号。例如:addslashes()函数进行处理,请试一下如下改动行不行。
Q2: php中sql语句无法实现插入到数据库,但在MySQL中可以用sql语句添加...
1、你应该把这个插入代码做成存储过程,把数据作为参数,不需要每次插入数据都生成一个存储过程。exec是执行单条语句的,应该只执行了第一条,后面多的都没有执行。
2、应该是没插入进去,你再查,查不到,就显示每个值都是空。看看报错信息。装个navicat for mysql,好调试。
3、php调用mysql步骤:连接MySQL数据库;选择MySQL数据库;执行SQL语句;关闭结果集;关闭MySQL服务器。
Q3: 在MySQL语句执行SQL语句,绝对成功,但是在PHP里执行报错。
1、数据类型不同,ID对应的是数字,用引号就是文本了,肯定会出问题。
2、mysql_query($sql);是执行一条SQL语句, 而你传入的$sql,里有2条。你可以分开来。一条 DROP TABLE if exists `install`,`user`,`theme`,`reply`;然后建表重新弄一条语句。
3、看看你的数据库是不是连接成功了。 另外看看你的sql是不是有写错了。
4、这个错误信息是因为,你的$result中没有结果,而是一个查询失败的false返回值。可能的原因是admin是mysql的关键字。在sql语句的admin两边加上`这个符号,就是tab键上面,esc键下面那个键。
5、应该是入库的数据没有做处理,入库的时候应该将特殊字符加转义符号。例如:addslashes()函数进行处理,请试一下如下改动行不行。
Q4: SQL语句在mysql有效,在php无效
1、看看你的数据库是不是连接成功了。 另外看看你的sql是不是有写错了。
2、mysql_query($sql);是执行一条SQL语句, 而你传入的$sql,里有2条。你可以分开来。一条 DROP TABLE if exists `install`,`user`,`theme`,`reply`;然后建表重新弄一条语句。
3、数据类型不同,ID对应的是数字,用引号就是文本了,肯定会出问题。
4、插入后生成的ID有函数获得:userID=mysql_insert_id();用名字应该也可以查,无需关闭数据库,如果你查不出来,你可以把插入和查询的SQL显示到网页上进行调试,可能是变量赋值有问题。
Q5: 详解一条sql语句在mysql中是如何执行的
查询缓存连接建立后,执行查询语句的时候,会先查询缓存,Mysql会先校验这个sql是否执行过,以Key-Value的形式缓存在内存中,Key是查询预计,Value是结果集。
可以将参数 query_cache_type 设置成 DEMAND,对于默认的 SQL 语句都将不使用查询缓存。
执行SQL语句时,会先进行缓存查询(如果开启了缓存查询)。如果之前执行了相同的SQL语句,则会从缓存中直接返回结果。 这个过程可以理解为SQL文本和查询结果的映射。
如果通过key能够查找到这条SQL语句,直接返回SQL的执行结果。若存在缓存中,就会继续后面的执行阶段。执行完成后,执行结果就会被放入查询缓存中。优点是效率高。
关于sql语句php不执行mysql执行和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








