[英]SQL database not inserting data?
我正在开发一个程序,该程序采用WYSIWYG编辑器制作的HTML代码并将其插入数据库中,然后将用户重定向到完成的页面,该页面将从数据库中读取代码。 我可以在phpmyadmin中手动输入代码,它可以工作,但在PHP代码中,它不会覆盖指定ID的代码列中的条目。 我提供了PHP代码来帮助您。 PHP没有给我任何解析错误。 以下代码有什么不正确的地方?
<?php
//POST VARIABLES------------------------------------------------------------------------
//$rawcode = $_POST[ 'editor1' ];
//$code = mysqli_real_escape_string($rawcode);
$code = 'GOOD';
$id = "1";
echo "$code";
//SQL VARIABLES-------------------------------------------------------------------------
$database = mysqli_connect("localhost" , "root" , "password" , "database");
//INSERT QUERY DATA HERE----------------------------------------------------------------
$queryw = "INSERT INTO users (code) VALUES('$code') WHERE ID = '" . $id . "'";
mysqli_query($queryw, $database);
//REDIRECT TO LOGIN PAGE----------------------------------------------------------------
echo "<script type='text/javascript'>\n";
echo "window.location = 'http://url.com/users/" . $id . "/default.htm';\n";
echo "</script>";
?>
您的问题是mysql INSERT不支持WHERE。 将查询更改为:
INSERT INTO users (code) VALUES ('$code')
然后更新记录,使用
UPDATE users SET code = '$code' WHERE id = $id
当然,请正确准备语句。
另外,mysqli_query要求第一个参数是连接,第二个参数是字符串。 你把它扭转了。 参见此处: http : //php.net/manual/en/mysqli.query.php
还应注意,此类过程应在输出到浏览器之前运行。 如果是这样,您可以使用PHP的标头进行重定位,而不是使用此js解决方法。 但是,此方法仍然可以根据需要工作。 如果在脚本开头执行查询和重定位,则可能会被认为更干净。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.