我想要一个选择查询和插入查询,我想使用函数(mysql_query)一起完成它们,但它不起作用.
我想要做这样的事情:
$sql="select * from texts; insert into date ('time') values ('2012');";
MysqL_query($sql);
有什么办法吗?
解决方法:
MysqL_query()发送唯一查询(不支持多个查询).
这是默认的行为.但是有一个旁路.
但是,如果执行此操作,则第一个查询的结果代码将作为MysqL_query()的输出给出.
您只需将标志65536作为MysqL_connect的第5个参数传递.该标志在MySQL Client flags中定义.
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
MysqL_connect($host, $username, $password, false, 65536);
警告:
>只有在给定的$query中,您才能获得第一个查询的MysqL_query($query)结果.您可以尝试将131072与65536连接以获得多个结果.
>这不适用于PHP< 4.3.0
>如果在PHP.ini中将sql.safe_mode设置为1,则无效
另一种方法是使用MysqLi而不是MysqL库.它支持$MysqLi-> multi_query()并为每个查询提供数组内的输出.