Php 插入数据库失败
我对这个代码有问题。我有这个html表单Php 插入数据库失败,php,html,sql,insert,isset,Php,Html,Sql,Insert,Isset,我对这个代码有问题。我有这个html表单 <form method="post" action="invio_db1.php"> Nome <input type="text" name="nome"> <br><br> Cognome <input name="cognome" type="text"> <br><br> <input value="Invia" type="su
<form method="post" action="invio_db1.php">
Nome <input type="text" name="nome"> <br><br>
Cognome <input name="cognome" type="text"> <br><br>
<input value="Invia" type="submit">
<input value="Reset" type="reset">
</form>
诺姆
Cognome
这个php代码
<?php
$host = "127.0.0.1";
$nick = "root";
$pw = "";
$db_name = "associazydbe";
$db = mysqli_connect($host, $nick, $pw) or die ("Errore nella connessione");
mysqli_select_db($db, $db_name) or die (mysqli_error());
if(!empty($_POST["nome"]))
$nome = $_POST["nome"];
else
$nome = null;
if(!empty($_POST['cognome']))
$cognome = $_POST['cognome'];
else
$cognome = null;
$query = "INSERT INTO persons_comeunprodigio (nome, cognome)
VALUES ('$nome', '$cognome')";
mysqli_query($db, $query) or die(mysqli_error());
?>
您可能应该在PHP脚本中添加条件,并仅在发送表单时将数据插入数据库
而不是:
if(!empty($_POST["nome"]))
$nome = $_POST["nome"];
else
$nome = null;
if(!empty($_POST['cognome']))
$cognome = $_POST['cognome'];
else
$cognome = null;
$query = "INSERT INTO persons_comeunprodigio (nome, cognome)
VALUES ('$nome', '$cognome')";
mysqli_query($db, $query) or die(mysqli_error());
你应该:
if (isset($_POST['nome'])) {
if(!empty($_POST["nome"]))
$nome = $_POST["nome"];
else
$nome = null;
if(!empty($_POST['cognome']))
$cognome = $_POST['cognome'];
else
$cognome = null;
$query = "INSERT INTO persons_comeunprodigio (nome, cognome)
VALUES ('$nome', '$cognome')";
mysqli_query($db, $query) or die(mysqli_error());
}
现在您需要填写表单并按submit按钮将数据插入数据库
然而,您应该至少使用mysqli\u real\u escape\u string
,但更好的选择是。目前,您的代码易受SQL注入攻击。您可以执行echo$query代码>在您尝试插入它之前,只是为了查看查询的格式是否正确?还要确保数据库中的列与您指定的列完全相同,并确保它们接受适当的数据类型将错误报告添加到文件顶部打开localhost后,并不是每台机器上都映射到127.0.0.1,因此最好使用localhost而不是127.0.0.1。您还需要使用mysqli\u error($db)
。