繁体   English   中英

SQL数据库没有插入数据?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM