簡體   English   中英

PHP mysql_query插入不起作用

[英]php mysql_query insert into not working

<form method="post" action="updatescreen(2).php">
Name of company:<br />
<input type="text" name="artid" id="artid" size="50" /><br /><br />
<input type="submit" name="Insert" id="Insert" value="Insert" /><br /><br />

<?php
if(isset($_POST['Insert'])){
    $id = $_POST['artid'];

    mysql_query("INSERT INTO test (id) VALUES ('$id', )");
}

?></form>

包含與數據庫的連接,因此此處未提及。 連接工作正常,這不是問題。

問題是:php代碼不起作用。 PHP代碼不會將數據插入我的數據庫。 怎么了?

你有一個,'$id'

mysql_query("INSERT INTO test (id) VALUES ('$id')");

您的代碼也可以進行SQL注入 您應該使用類似PDO的東西,而不要使用不推薦使用的mysql_ *函數。 使用PDO,您可以通過使用預處理語句防止SQL注入。

更改

mysql_query("INSERT INTO test (id) VALUES ('$id', )");

mysql_query("INSERT INTO test (id) VALUES ('$id')");

您有一個逗號太多。

mysql_query("INSERT INTO test (id) VALUES ('$id')");

將來,請嘗試打印錯誤,這將幫助您自己調試問題:

mysql_query("INSERT INTO test (id) VALUES ('$id')") or die(mysql_error());

並且請使用PDOmysqli而不是不安全且已棄用的mysql_函數。

嘗試

<?php if(isset($_POST['Insert'])){
    $id = $_POST['artid'];

    mysql_query("INSERT INTO test (id) VALUES ('".$id."')")or die(mysql_error());
}?>


  <form method="post" action="updatescreen(2).php">
Name of company:<br />
<input type="text" name="artid" id="artid" size="50" /><br /><br />
<input type="submit" name="Insert" id="Insert" value="Insert" /><br /><br />

並且=>考慮安全性!

錯誤:

 mysql_query("INSERT INTO test (id) VALUES ('$id', )"); ^---not secure, potencial sql injection ^----not need "," 

使用此代碼可提高安全性(最重要的是,最好使用pdo或mysqli):

 if(isset($_POST['Insert'])){ $id = mysql_real_escape_string($_POST['artid']); mysql_query("INSERT INTO test (id) VALUES ('$id')"); 

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM