我目前正在研究以下sql代码,只有在目前还不存在的情况下才会插入新数据集。在phpmyadmin中执行时,sql代码工作正常。如果我在php中执行代码,我会收到错误(见下文)。
sql代码如下:
INSERT INTO `historiclist` (`id`, `date`, `name`, `idnumber`, `prop1`, `prop2`, `prop3`, `difflimit1`, `difflimit2`)
SELECT * FROM (SELECT
0 as `id`,
1515529465 as `date`,
'johndoe' as `name`,
'381' as `idnumber`,
105 as `prop1`,
240 as `prop2`,
60 as `prop3`,
'-10' as `difflimit1`,
'-10' as `difflimit2`
) AS tmp
WHERE NOT EXISTS (
SELECT `id` FROM historiclist
WHERE `date` = 1515529465
AND `name` = 'johndoe'
AND `idnumber` = '381'
) LIMIT 1;
我收到的mysql错误是:
查询无效:您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以便在“INSERT INTO
historiclist
(id
,date
,name
,idnumber
附近使用正确的语法,prop1
,第21行的“道具”
神秘的情况也是prop2没有完全显示出来。所以它在名称和e的末尾削减了2。 G。 prop3。
我错过了什么?
//编辑我也错过了其他东西......这里是我的PHP代码:
$sql1return = sqlQUERY($connection, $sql1);
$message = 'Invalid query: ' . mysql_error() . "\n";
function sqlQUERY($connection, $sqlinput){
$return = @mysql_query($sqlinput, $connection);
return $return;
}
数据库连接在任何其他地方工作得很好(我知道它有点过时了)。