我试图制作一个非常简单的PHP表单,在数据库中插入值。 首先,我创建了一个表单:
<html>
<head>
<title>insertion de données en PHP :: partie 1</title>
</head>
<body>
<form name="insertion" action="insertion2.php" method="POST">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>nom</td>
<td><input type="text" name="nom"></td>
</tr>
<tr align="center">
<td>prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr align="center">
<td>adresse</td>
<td><input type="text" name="adresse"></td>
</tr>
<tr align="center">
<td>code postal</td>
<td><input type="text" name="codePostal"></td>
</tr>
<tr align="center">
<td>numéro de téléphone</td>
<td><input type="text" name="telephone"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="insérer"></td>
</tr>
</table>
</form>
</body>
</html>
然后我创建了第二个带有mysqli数据库连接和SQL查询的php文件,以便在数据库中插入值:
<?php
$mysqli = new mysqli("localhost", "root", "", "info");
if ($mysqli->connect_errno) {
echo "Echec lors de la connexion à MySQL : (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$nom = $_POST["nom"] ;
$prenom = $_POST["prenom"] ;
$adresse = $_POST["adresse"] ;
$cp = $_POST["codePostal"] ;
$tel = $_POST["telephone"] ;
$sql = "INSERT INTO personnes (nom, prenom, adresse, cp, telephone)
VALUES ( '$nom', '$prenom', '$adresse', '$cp', '$tel') " ;
$requete = mysql_query($sql, $base) or die( mysql_error() ) ;
if($requete)
{
echo("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
?>
但现在我有错误:
警告:mysql_query()期望参数2为resource,给定null 在第20行的C:\ wamp \ www \ Inform \ insertion2.php中注意:未定义 变量:基础在第20行的C:\ wamp \ www \ Inform \ insertion2.php
我不知道该怎么做。你能救我吗?
答案 0 :(得分:2)
您正在将其与mysql
混合。试试 -
$requete = mysqli_query($mysqli, $sql) or die( mysqli_error());
而不是 -
$requete = mysql_query($sql, $base) or die( mysql_error() ) ;
答案 1 :(得分:0)
如评论中所述,您需要定义$ base变量。 你也可以调用mysqli和mysql函数。
由于您编写的是Mysqli数据库,因此您应该始终在代码中使用mysqli函数。
但你真的应该清理你的参数。此代码非常适合SQL Injections
您想要查看使用mysqli-&gt;准备并执行参数化查询。