为什么我的PHP代码没有在mysql数据库中输入任何内容
由于某些原因,我无法将POST字符串值或任何与此相关的值发送到我的数据库,所有列都使用具有正确长度的varchar,并且我非常确定我正确设置了SQL查询语句。我已经查找并找到了与此相近的问题答案,但它仍然不起作用,而且我也多次运行了它,没有语法错误 下面是我的代码: Apply.php为什么我的PHP代码没有在mysql数据库中输入任何内容,php,database,mysqli,Php,Database,Mysqli,由于某些原因,我无法将POST字符串值或任何与此相关的值发送到我的数据库,所有列都使用具有正确长度的varchar,并且我非常确定我正确设置了SQL查询语句。我已经查找并找到了与此相近的问题答案,但它仍然不起作用,而且我也多次运行了它,没有语法错误 下面是我的代码: Apply.php <?php $required = array('name', 'age', 'position', 'email', 'desc'); $name= $_POST["name"]; $age= $_POS
<?php
$required = array('name', 'age', 'position', 'email', 'desc');
$name= $_POST["name"];
$age= $_POST["name"];
$email= $_POST["email"];
$position= $_POST["position"];
$desc= $_POST["desc"];
$error = false;
foreach($required as $field) {
if (empty($_POST[$field])) {
$error = true;
}
}
if ($error) {
echo "You must fill in all fields";
}
else {
echo "Application Submitted, You will receive an email with a validation code in 1-2 days </br>Ask the owner in game for faster service";
mysqli_connect("localhost","root","password","apply");
mysqli_query("INSERT INTO applications (name, age, email, position, desc) VALUES ('$name', '$age', '$email', '$position', '$desc')");
mysqli_close();
}
?>
<?php
$username="root";
$password="password";
$database="apply";
mysql_connect(localhost,$username,$password);
$result = mysqli_query("SELECT * FROM applications") ;
echo "<table border='1'>
<tr>
<th> Name </th>
<th> Age </th>
<th> Email Address </th>
<th> Position </th>
<th> Reasoning </th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['Name'] . "</td>";
echo "<td>" . $row['age'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td>" . $row['position'] . "</td>";
echo "<td>" . $row['desc'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close();
?>
阅读mysqli\u查询的手册 或
检查
mysql\u query()
中的错误。如果返回false
,则打印mysql\u error()
查看错误。在第二个脚本中,您混合了mysql
和mysqli
函数。这是行不通的。你需要做一个MySQL no no。请查看此PHP文档以提高脚本的安全性。如果你非常容易受到SQL注入攻击,那么如果你还没有受到攻击,你就会被黑客攻击。使用准备好的/参数化的查询可以完全避免此问题。另外,在将任意字符串输出到HTML中时,请确保使用htmlspecialchars()
以确保生成有效的HTML,并避免人们在你的应用程序中插入自己的JavaScript。谢谢,这确实是个问题,因为我是php新手。我修改的原始代码在$link和查询之间没有逗号,我删除了它,假设它不需要。
$link=mysqli_connect("localhost","root","password","apply");
mysqli_query($link,"INSERT INTO applications (name, age, email, position, desc) VALUES ('$name', '$age', '$email', '$position', '$desc')");
mysqli_close();
$mysqli=mysqli_connect("localhost","root","password","apply");
$mysqli->query("INSERT INTO applications (name, age, email, position, desc) VALUES ('$name', '$age', '$email', '$position', '$desc')");
mysqli_close();