php代码中的mysql查询错误
这是我编写的一段php代码,用于编辑数组“article”中的一行,每行由以下代码组成:php代码中的mysql查询错误,php,mysql,database,web,Php,Mysql,Database,Web,这是我编写的一段php代码,用于编辑数组“article”中的一行,每行由以下代码组成: (Colonne: Type) (ref : int(11), nom :varchar(25), cat : varchar(25), prix : int(11), fabricant : varchar(35), photo :varchar(35)) 因此,我编写了以下php代码: <?php require_once
(Colonne: Type)
(ref : int(11),
nom :varchar(25),
cat : varchar(25),
prix : int(11),
fabricant : varchar(35),
photo :varchar(35))
因此,我编写了以下php代码:
<?php
require_once("connection.php");
$ref=$_POST['ref'];
$req="Select * from article where ('ref =". $ref."')";
$rs= mysql_query($req) or die(mysql_error());
$AR=mysql_fetch_assoc($rs);
?>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form method="POST" action="modifierArticle.php" enctype="multipart/form-data">
<table>
<tr>
<td>Référence:</td>
<td><input type="text" name="ref" value="<?php echo ($AR['ref']) ?>" readonly="true"></td>
</tr>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom" value="<?php echo ($AR['nom']) ?>"></td>
</tr>
<tr>
<td> Catégorie: </td>
<td><input type="text" name="cat" value="<?php echo ($AR['cat']) ?>"></td>
</tr>
<tr>
<td> Prix Unitaire: </td>
<td><input type="text" name="prix" value="<?php echo ($AR['prix']) ?>"></td>
</tr>
<tr>
<td> Fabricant: </td>
<td><input type="text" name="fab" value="<?php echo ($AR['fabricant']) ?>"></td>
</tr>
<tr>
<td>Photo: </td>
<td><input type="file" name="photo"><img src="./images/<?php echo ($AR['photo']) ?>"</td>
</tr>
<tr>
<td></td>
<td> <input type="submit" value="Enregistrer"></td>
</tr>
</table>
</form>
</body>
</html>
<?php
mysql_free_result($rs);
mysql_close($conn);
?>
so i got an error:
使用数组键检查是否存在。像这样:
if(array_key_exists('ref', $_POST)) {
//your code here
}
检查POST请求是否为空
if(!empty($_POST['ref']))
{
$ref=$_POST['ref'];
}
else
{
echo 'no value';
exit;
}
您在$req
中遇到语法错误,请添加if条件,以确保在运行查询之前设置了$\u POST['ref']
HTML
法国:
使用此代码
<?php
require_once("connection.php");
$ref=$_POST['ref'];
$req="Select * from article where ref =$ref";
$rs= mysql_query($req) or die(mysql_error());
?>
<html>
<had>
<meta charset="utf-8">
</had>
<body>
<form method="POST" action="modifierArticle.php" enctype="multipart/form-data">
<table>
<?php while($AR=mysql_fetch_assoc($rs)) { ?>
<tr>
<td>Référence:</td>
<td><input type="text" name="ref" value="<?php echo ($AR['ref']) ?>" readonly="true"></td>
</tr>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom" value="<?php echo ($AR['nom']) ?>"></td>
</tr>
<tr>
<td> Catégorie: </td>
<td><input type="text" name="cat" value="<?php echo ($AR['cat']) ?>"></td>
</tr>
<tr>
<td> Prix Unitaire: </td>
<td><input type="text" name="prix" value="<?php echo ($AR['prix']) ?>"></td>
</tr>
<tr>
<td> Fabricant: </td>
<td><input type="text" name="fab" value="<?php echo ($AR['fabricant']) ?>"></td>
</tr>
<tr>
<td>Photo: </td>
<td><input type="file" name="photo"><img src="./images/<?php echo ($AR['photo']) ?>"</td>
</tr>
<tr>
<td></td>
<td> <input type="submit" value="Enregistrer"></td>
</tr>
<?php } ?>
</table>
</form>
</body>
</html>
<?php
mysql_free_result($rs);
mysql_close($conn);
?>
法国:
你需要使用isset和iempty来确保你的$U帖子有价值
<?php
require_once("connection.php");
if (isset($_POST['ref']) && !empty ($_POST['ref']))
{
$ref=$_POST['ref'];
$req="Select * from article where ref ='.$ref.'";
$rs= mysql_query($req) or die(mysql_error());
while($rs = mysql_fetch_array($rs)){
$ref = $rs['ref'];
$nom = $rs['nom'];
$cat = $rs['cat'];
$prix = $rs['prix'];
$fabricant = $rs['fabricant'];
$photo = $rs['photo'];
}
?>
html
法国:
你没有正确地开始where is while{}使用ctrl+f查找whileref是int,你把它放在单引号中,使它成为一个string@Tabby哦,是的,很抱歉我的回复不好。我没有注意到。我将编辑它。您在$cat
中有语法错误,为什么要使用!空()
?这样ref
就不会有任何错误value@kingkero用户只需在输入字段中输入数据,然后将其删除,在此过程中,可以设置ref
,但它将为空以避免我使用的!empty()
如果ref
是“0”
,empty()
将返回true,并且您的逻辑失败-因此用户无法搜索0?@kingkero您是对的,我的错。现在的逻辑是正确的吗?是的。同时isSet()
和empty()
也没有意义,因为empty()
将首先检查变量是否已设置;)所以它通常是一个使用Mysql_*函数的非此即彼或choiceSTOP,自从PHP5.5以来,它们就被弃用了,因为它们容易受到SQL注入的攻击。转到PDO或MYSQLIhello需要理由吗/
<?php
require_once("connection.php");
$ref=$_POST['ref'];
$req="Select * from article where ref =$ref";
$rs= mysql_query($req) or die(mysql_error());
?>
<html>
<had>
<meta charset="utf-8">
</had>
<body>
<form method="POST" action="modifierArticle.php" enctype="multipart/form-data">
<table>
<?php while($AR=mysql_fetch_assoc($rs)) { ?>
<tr>
<td>Référence:</td>
<td><input type="text" name="ref" value="<?php echo ($AR['ref']) ?>" readonly="true"></td>
</tr>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom" value="<?php echo ($AR['nom']) ?>"></td>
</tr>
<tr>
<td> Catégorie: </td>
<td><input type="text" name="cat" value="<?php echo ($AR['cat']) ?>"></td>
</tr>
<tr>
<td> Prix Unitaire: </td>
<td><input type="text" name="prix" value="<?php echo ($AR['prix']) ?>"></td>
</tr>
<tr>
<td> Fabricant: </td>
<td><input type="text" name="fab" value="<?php echo ($AR['fabricant']) ?>"></td>
</tr>
<tr>
<td>Photo: </td>
<td><input type="file" name="photo"><img src="./images/<?php echo ($AR['photo']) ?>"</td>
</tr>
<tr>
<td></td>
<td> <input type="submit" value="Enregistrer"></td>
</tr>
<?php } ?>
</table>
</form>
</body>
</html>
<?php
mysql_free_result($rs);
mysql_close($conn);
?>
<?php
require_once("connection.php");
if (isset($_POST['ref']) && !empty ($_POST['ref']))
{
$ref=$_POST['ref'];
$req="Select * from article where ref ='.$ref.'";
$rs= mysql_query($req) or die(mysql_error());
while($rs = mysql_fetch_array($rs)){
$ref = $rs['ref'];
$nom = $rs['nom'];
$cat = $rs['cat'];
$prix = $rs['prix'];
$fabricant = $rs['fabricant'];
$photo = $rs['photo'];
}
?>
<form method="POST" action="modifierArticle.php" enctype="multipart/form-data">
<table>
<tr>
<td>Référence:</td>
<td><input type="text" name="ref" value="<?php echo $ref; ?>" readonly="true"></td>
</tr>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom" value="<?php echo $nom; ?>"></td>
</tr>
<tr>
<td> Catégorie: </td>
<td><input type="text" name="cat" value="<?php echo $cat; ?>"></td>
</tr>
<tr>
<td> Prix Unitaire: </td>
<td><input type="text" name="prix" value="<?php echo $prix; ?>"></td>
</tr>
<tr>
<td> Fabricant: </td>
<td><input type="text" name="fab" value="<?php echo $fabricant; ?>"></td>
</tr>
<tr>
<td>Photo: </td>
<td><input type="file" name="photo"><img src="./images/<?php echo $photo; ?>"</td>
</tr>
<tr>
<td></td>
<td> <input type="submit" value="Enregistrer"></td>
</tr>
</table>
</form>
</body>
</html>
<?php
mysql_free_result($rs);
mysql_close($conn);
?>