php代码中的mysql查询错误

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

这是我编写的一段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("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);

    ?>