Heim  >  Artikel  >  Backend-Entwicklung  >  PHP的mysql安插请求返回无报错,但数据库未更新

PHP的mysql安插请求返回无报错,但数据库未更新

WBOY
WBOYOriginal
2016-06-13 11:59:511057Durchsuche

PHP的mysql插入请求返回无报错,但数据库未更新

本帖最后由 dimply 于 2014-06-13 21:46:24 编辑 有下面这段PHP代码

$query = "insert into index_base (cardid, name, sex, nationality, birth, address, issued, expiration) values ($cardid, $name, $gender, $folk, $birthday, $addr, $agency, $expire)";<br />mysql_query($query);<br />if($buy=="1"){<br />	$bid = mysql_insert_id();<br />echo($bid);<br />	$time=date("Y-m-d",time());<br />	$time.=":1";<br />	$query = "insert into index_b2a (bid, aid, `limit`, now) values ($bid, $aid, '$time', 1)";<br />echo($query);<br />	$result = mysql($query);<br />	echo("result 为".$result);<br />	if(mysql_affected_rows()==1)die("1");<br />	else die("0");<br />}


根据echo和die返回的值来看,请求 $query = "insert into index_b2a (bid, aid, `limit`, now) values ($bid, $aid, '$time', 1)";应该是完全没错,$result为1,且affected rows也是1。
但是在数据库里,怎么也找不到插入的这一条在哪里。

我加了一个echo($query),打印出来的请求为insert into index_b2a (bid, aid, `limit`, now) values (102631, '89', '2014-06-13:1', 1),直接输入mysql,当然也是执行正确的,并且刷新数据库后,立刻能看到插入的条目。

因为limit是关键字,我已经加了``作为引号。
为了确保不会造成错误,89外面的引号也去掉,2014-06-13:1这个值也改了,把后面冒号和数字1去掉。
然后执行:
仍然是mysql里面能生效,php里面不生效,但返回值都说是执行成功。

不知道问题出在哪里?
------解决方案--------------------
$result = mysql($query); 中的mysql() 是你自定义的函数么?还是手误?

echo mysql_error(); 看看有没有错误。
------解决方案--------------------
$result = mysql($query); 这个是什么?
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn