好吧,我有一个非常简单的mysql数据库,但当我尝试通过mysql-admin运行此查询时,我得到奇怪的错误
INSERT INTO customreports(研究,类型,模式,选择,描述)VALUES('1','2','3','4','5');
错误:
1064 - 您的SQL语法出错; 查看与您的MySQL服务器版本对应的手册,以便在第1行使用"select,description"VALUES('1','2','3','4','5')附近的正确语法
我正在尝试从php调用行更新到mysql数据库.它失败但是当我尝试调用插入新行时,它的工作方式相同.
$result = mysql_query("INSERT INTO auth (username, password, studycode, description, server) VALUES ('$username', '$password', '$studycode', '$description', '$server')");
Run Code Online (Sandbox Code Playgroud)
但是这段代码失败了
$result = mysql_query("UPDATE auth SET username='$username', password='$password', studycode='$studycode', description='$description', server='$server' WHERE index='$id' LIMIT 1;");
Run Code Online (Sandbox Code Playgroud)
index是第一列及其表的键/ id.
编辑:好的所以我刚进入mysql管理员并尝试了我的代码将发送的确切命令来跟踪错误.
UPDATE auth SET username='username', password='password', studycode='ab9102y', description='test change', server='server2' WHERE index='5' LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
给了我错误
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index='5' LIMIT 1' at …Run Code Online (Sandbox Code Playgroud) 我收到以下错误,我花了几个小时看着它,无法弄清楚为什么!
错误:您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'primary ='doej2'附近使用正确的语法,在第1行查找辅助='1'WHERE id ='2''
这是我的代码:
<?php
if (isset($_POST[Edit])){
$id = $_POST['id'];
$primary = $_POST['primary'];
$secondary = $_POST['secondary'];
$query = mysql_query("UPDATE eventcal SET primary='$primary', secondary='$secondary' WHERE id='$id'");
if (!$query) {
$_SESSION['alert'] = 'ERROR: ' . mysql_error();
}
}?>
Run Code Online (Sandbox Code Playgroud)
这是eventcal表的表结构:
CREATE TABLE `eventcal` (
`id` int(10) unsigned NOT NULL auto_increment,
`region` tinyint(3) unsigned NOT NULL,
`primary` varchar(25) NOT NULL,
`secondary` tinyint(1) NOT NULL,
`eventDate` date NOT NULL,
PRIMARY KEY (`id`),
KEY `primary_2` (`primary`),
KEY `secondary` (`secondary`),
CONSTRAINT `eventcal_ibfk_1` FOREIGN KEY …Run Code Online (Sandbox Code Playgroud)