gpt4 book ai didi

PHP 不会 POST 到 MySQL 数据库。

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:31 25 4
gpt4 key购买 nike

我制作了一些 PHP/HTML 页面以便轻松插入我的数据库之一。起初它似乎工作正常,但一旦我尝试进行更多测试,我意识到当我尝试在我的文本区域中键入多行时(请参阅下面的代码),它不会进入数据库。我不会得到任何错误,但它也不会保存在数据库中。我制作的编辑脚本也存在这个问题。如果我尝试编辑文本区域,它不会更改数据库。

代码如下。

所有字段类型都是 varchar 和 unicode,所以我可以输入非英文字符。唯一不是的是 ID (bigint) 和内容 (longtext),以允许大量信息(理论上,呵呵)。

这两个用于添加到数据库中。如果我知道一般情况下出了什么问题,我可能会弄清楚更新的问题……这是我第一次真正深入使用 PHP 和 MySQL,所以我完全不知道为什么它不起作用。感谢您的帮助!

字符添加.php

<html>
<head>
<title>Character Add</title>
</head>
<body>
<div align="center">
<br>
<font style="font-size: 50px;"><b>Character Add</b></font><br>
Fill in everything with something.<br>
<br>
<form action="charinsert.php" method="post">
<table>
<tr>
<td>Name:</td><td><input type="text" name="name"><br></td>
<td>Story:</td><td><input type="text" name="story"><br></td>
</tr><tr>
<td>Deity Group?</td><td><input type="text" name="deity"><br></td>
<td>Country:</td><td><input type="text" name="country"><br></td>
</tr><tr>
<td>City:</td><td><input type="text" name="city"><br></td>
<td>Gender:</td><td><input type="text" name="gender"><br></td>
</tr><tr>
<td>Orientation:</td><td><input type="text" name="orientation"><br></td>
<td>Age:</td><td><input type="text" name="age"><br></td>
</tr><tr>
<td>Blood Type:</td><td><input type="text" name="blood"><br></td>
<td>Occupation?</td><td><input type="text" name="occupation"><br></td>
</tr><tr>
<td>Height:</td><td><input type="text" name="height"><br></td>
<td>Weight:</td><td><input type="text" name="weight"><br></td>
</tr><tr>
<td>Hair Color:</td><td><input type="text" name="hair"><br></td>
<td>Eye Color:</td><td><input type="text" name="eye"><br></td>
</tr>
<td>Race:</td><td><input type="text" name="race"><br></td>
<td>Pic Ref Preview:</td><td><input type="text" name="picpreview"><br></td>
</tr><tr>
<td>Pic Link:</td><td><input type="text" name="piclink"><br></td>
<td>Relation Link:</td><td><input type="text" name="relationlink"><br></td>
</tr><tr>
<td>Pirate Stuff</td></tr><tr>
<td>Allegiance:</td><td><input type="text" name="allegiance"><br></td>
</tr><tr>
<td>Future Stuff</td></tr><tr>
<td>Element:</td><td><input type="text" name="element"><br></td>
<td>Area:</td><td><input type="text" name="area"><br></td>
</tr><tr><td>History:</td></tr><tr>
<td colspan="4"><textarea cols="80" rows="15" name="content">
</textarea></td>
</tr>
</table>
<input type="Submit">
</form>
</div>
</body>
</html>

字符插入.php

<html>
<head>
<title>Character Added!</title>
</head>
<body>
<?php
$username="username";
$password="pass";
$database="obviously";
$host="notthis";

$name=$_POST['name'];
$story=$_POST['story'];
$deity=$_POST['deity'];
$country=$_POST['country'];
$city=$_POST['city'];
$gender=$_POST['gender'];
$orientation=$_POST['orientation'];
$age=$_POST['age'];
$blood=$_POST['blood'];
$occupation=$_POST['occupation'];
$height=$_POST['height'];
$weight=$_POST['weight'];
$hair=$_POST['hair'];
$eye=$_POST['eye'];
$race=$_POST['race'];
$picpreview=$_POST['picpreview'];
$piclink=$_POST['piclink'];
$rellink=$_POST['relationlink'];
$allegiance=$_POST['allegiance'];
$element=$_POST['element'];
$area=$_POST['area'];
$content=$_POST['content'];


mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$query = "INSERT INTO aliz_character VALUES ('','$story','$deity','$country','$city','$name','$gender','$orientation','$age','$blood','$occupation','$rellink','$height','$weight','$hair','$eye','$picpreview','$piclink','$allegiance','$element','$area','$race','$content')";
mysql_query($query);

mysql_close();
?>
<div align="center">
Return to <a href="dtop.php">updating page</a>.
</div>
</body>
</html>

最佳答案

您没有转义任何输入。任何人都可以在任何这些输入中输入内容以轻松打破查询。只需尝试在其中任何一个中加入单引号 '

是时候了解 PDO、准备好的语句和参数绑定(bind)了。

如果您想按原样使用此脚本,请调用 mysql_real_escape_string在您放入查询中的每个字符串上。

$content = mysql_real_escape_string($_POST['content']);

Her daughter is named Help I'm trapped in a driver's license factory

关于PHP 不会 POST 到 MySQL 数据库。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6881776/

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