gpt4 book ai didi

php - 输入文本值时数据库无法创建记录 ($_POST)

转载 作者:行者123 更新时间:2023-11-29 13:11:38 25 4
gpt4 key购买 nike

也许我犯了一些明显的初学者错误,但我似乎无法弄清楚为什么会发生这种情况。

奇怪的是,只有当我在“输入框”中输入数字时,代码似乎才能正常工作。我在 myphpadmin 面板中检查这一点,它显示已创建一条新记录。但是,如果我尝试输入符合我的目的的字符串(例如:“hello”),数据库中不会出现新记录...

简而言之,只有当我在“输入框”中输入数字时数据库才会更新,而当我输入字符串时数据库不会更新。

有什么想法可能会发生这种情况吗?这让我疯狂。如果有帮助,“Company”字段的数据类型为 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>

干杯

最佳答案

尝试这个查询,

mysqli_query($con,"INSERT INTO Ratings (Company,Score)
VALUES ('$comprating',1)");`
^ ^

请注意保留字符串值的单引号,并且不要忘记在将输入插入数据库之前对其进行清理。

标准转义示例:

$compating = mysqli_real_escape_string($compating) 在执行使用 $compating

的查询之前

关于php - 输入文本值时数据库无法创建记录 ($_POST),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22019953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com