【发布时间】:2014-02-26 00:49:43
【问题描述】:
也许我犯了一些明显的初学者错误,但我似乎无法弄清楚为什么会发生这种情况。
奇怪的是,代码似乎只有在我在“输入框”中输入数字时才能正常工作。我在 myphpadmin 面板中检查了这一点,它显示已创建了一条新记录。但是,如果我尝试按照我的目的输入一个字符串(例如:“hello”),数据库中不会出现新记录...
简而言之,数据库只有在我将数字输入“输入框”时才会更新,而不是在我输入字符串时更新。
任何想法为什么会发生这种情况?这让我疯狂。如果有帮助,“公司”字段的数据类型为 VARCHAR,排序规则设置为 latin1_swedish_ci
PHP代码如下:
<?php
//Retrieve data from 'inputbox' textbox
if (isset($_POST['submitbutton']))
{
$comprating = $_POST['inputbox'];
//Create connection
$con = mysqli_connect("localhost","root","","test_db");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Insert data into 'Ratings' table
mysqli_query($con,"INSERT INTO Ratings (Company,Score)
VALUES ($comprating,1)");
mysqli_close($con);
}
?>
HTML代码是:
<form method="post">
<input type="text" name="inputbox">
<input type="submit" name="submitbutton">
</form>
干杯
【问题讨论】:
-
注意 SQL/XSS 注入并更好地使用准备好的语句