2015-10-06 34 views
-1

问题INSERT/UPDATE即使使用正确的语法也无法正常工作?

我已经写了和运行以前一直工作在PHP脚本,今天我认识到,虽然它似乎是正常,在过去的几天里没有数据被插入或更新(基本上任何写入查询)。这不会触发任何错误,并且当完全相同的查询复制并粘贴到mysql终端时,它会正确插入。

CODE

$sql = "REPLACE INTO `history` (`owner`, `user`, `status`, `now_date`) 
VALUES ('{$owner['username']}', '{$user}', '1', NOW())"; 

if (!mysqli_query($db, $sql)) { die('Error: ' . mysqli_error($db)); } 

echo "Affected rows: " . mysqli_affected_rows($db); 

响应

Affected rows: 1 

所以它似乎是工作,不会触发任何错误,并且在相同的查询被输入到mysql终端,它的工作原理,它只是通过PHP,它不。用户连接权限没有问题。

这个问题刚刚发生在上周,在此之前它完美地工作。我很困惑。

感谢, 约翰。

+0

删除'{}',并尝试 –

+4

@MayankVadiya没有不删除'{}'或它肯定不会工作 – RiggsFolly

+0

打印出的声明,看看你得到的结果expacted – Jens

回答

0

你说一个名为id的列是该表的UNIQUE键。

您在该查询中没有使用id,那么如何在不存在id字段的情况下执行INSERT或UPDATE(DELETE-INSERT)知道该如何做出该决定。

更换作品酷似INSERT,不同之处在于,如果一个老行的表具有相同的值作为一个主键的新行或唯一索引,旧行被删除之前,新行插入。

See the manual

+0

'REPLACE'与旧版脚本一起使用,我已经把它改为'INSERT',但它仍然不起作用,我不认为这个问题是基于查询的,因为'INSERT'查询在PhpMyAdmin中正常工作。我的直觉告诉我这是一个服务器配置问题某处,虽然没有错误正在产生任何哪里。 –

+1

对不起约翰。一旦评论和回答,你就不能改变你的问题。这将使大多数问题/答案会议不存在。请问另一个问题,如果你已经改变了基本的前提 – RiggsFolly

+0

好吧,我会再次问它改变REPLACE更新... –

相关问题