编辑:现在修复了!谢谢你的帮助!
对于初学者问题,我正在创建一个简单的页面,为我的团队网站编辑另一个页面。
这是我正在使用的代码,但它没有更新数据库。
代码不正确:
mysql_query("UPDATE pages SET `pagename` = $pagename, `pagedesc` = $pagedesc,
`agekey` = $pagekey, `pagecont` = $pagecont WHERE `pages_id` = $pages_id") or die(mysql_error());
正确的代码:
mysql_query("UPDATE pages SET pagename = '$pagename', pagedesc = '$pagedesc', pagekey = '$pagekey', pagecont = '$pagecont' WHERE pages_id = $pages_id") or die(mysql_error());
使用``根本不起作用。但是添加或死(mysql_error());我的查询帮助。我应该先考虑一下! :)
答案 0 :(得分:2)
你的mysql查询不应该是
mysql_query("UPDATE pages SET pagename = '$pagename', pagedesc = '$pagedesc', pagekey = '$pagekey', pagecont = '$pagecont' WHERE pages_id = $pages_id");
而不是
mysql_query("UPDATE pages SET 'pagename' = $pagename, 'pagedesc' = $pagedesc, 'pagekey' = $pagekey, 'pagecont' = $pagecont, WHERE 'pages_id' = $pages_id");
您在字段名称中使用'(单引号)。当数据类型为varchar
时,使用单引号e.g。如果table的字段为myField02 varchar2(20),那么插入查询时将是
INSERT INTO myTable values ('myValue');
如果该字段不是varchar,则不要使用单引号
INSERT INTO myTable values (myValue);
答案 1 :(得分:1)
在SQL语句中有一个额外的“,”。
agecont, WHERE
答案 2 :(得分:1)
将其添加到具有mysql_query:
的行mysql_query("<QUERY GOES HERE>") or die(mysql_error());
这将显示查询中的确切错误。
答案 3 :(得分:0)
您的问题是您没有检查您的查询是否确实成功。编辑:认为你有这个。
SQL查询中存在一些语法错误:
例如
// Your code
UPDATE pages SET 'pagename' = $pagename
// How SQL expects
UPDATE pages SET pagename = '$pagename'
请注意,仅在我们想要放入的变量周围引用单引号。
重写SQL查询:
mysql_query("UPDATE pages
SET pagename = '{$pagename}',
pagedesc = '{$pagedesc}',
agekey = '{$pagekey}',
pagecont = '{$pagecont}'
WHERE pages_id = '{$pages_id}'") or die(mysql_error());
请注意,列名称没有“或”#39;围绕它们,只有你用来运行更新的变量。
编辑:答案已更新,以显示他的错误在哪里
答案 4 :(得分:0)
mysql_query(“UPDATE pages SET
pagename
='$ pagename',pagedesc
= '$ pagedesc',pagekey
='$ pagekey',pagecont
='$ pagecont'WHEREpages_id
= $ pages_id“);
在字段中使用`(重音)代替',在你之前使用额外的(逗号)
答案 5 :(得分:0)
您的查询中有两个错误:comma
之前和之后您使用single quotes
作为字段名称。对于fieldname,请使用backtic而不是单引号。使用此查询。还要注意sql注射。使用mysql_real_escape_string().
mysql_query("UPDATE pages SET `pagename` = $pagename, `pagedesc` = $pagedesc,
`agekey` = $pagekey, `pagecont` = $pagecont WHERE `pages_id` = $pages_id");