Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在发送表单之前,请检查maakartikel是否扩展到我的数据库中_Php_Mysqli - Fatal编程技术网

Php 在发送表单之前,请检查maakartikel是否扩展到我的数据库中

Php 在发送表单之前,请检查maakartikel是否扩展到我的数据库中,php,mysqli,Php,Mysqli,我的PHP代码: 我希望在我发送表格之前,它会检查maakartikel是否在我的数据库中扩展。如果它已经扩展,则必须给出一个错误:This maakartikel extends。如果没有,则必须将其添加到数据库中 <?php $con = mysqli_connect("localhost", "csa", "csa", "csa"); // Check connection if (mysqli_connect_errno()) { echo "Failed to

我的PHP代码:

我希望在我发送表格之前,它会检查maakartikel是否在我的数据库中扩展。如果它已经扩展,则必须给出一个错误:This maakartikel extends。如果没有,则必须将其添加到数据库中

 <?php

$con = mysqli_connect("localhost", "csa", "csa", "csa");

// Check connection

if (mysqli_connect_errno())

{
    echo "Failed to connect to MySQL:" . mysqli_connect_error();
}

$sql= "INSERT INTO mart (Maakartikel, Omschrijving)

        VALUES 

        ('$_POST[maakartikel]', '$_POST[omschrijving]') ";

if (!mysqli_query($con, $sql))

{
    die('Error:' . mysqli_errno($con));
}

echo "1 record added";

mysqli_close($con);

?>
尝试以下解决方案

首先写“选择”查询检查天气记录是否存在 若记录退出,则不插入,否则在表中插入数据

比如说

$select= mysql_query("select * from table where name='xyz'");
$count = mysql_num_rows($select)
if($count>1)
{
 echo "already exits";
}
else
{
 // insert record 
}
注意:这里我使用的是mysql函数,而不是mysqli集,因此您可以更改任何函数,因为您对mysqli了解不多

 <?php

$con = mysqli_connect("localhost", "csa", "csa", "csa");

// Check connection

if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
// first check in databse befor to insert Maakartikel
$check_record = "SELECT * from mart where Maakartikel = '$_POST[maakartikel]'";
$query_execute = mysqli_query($check_record);
$num_rows = mysqli_num_rows($query_execute);
if ($num_rows > 0) {
    echo "Error: This maakartikel extends";
    exit();
} else {

    //if not found in database then insert record.

    $sql = "INSERT INTO mart (Maakartikel, Omschrijving)

                     VALUES

                     ('$_POST[maakartikel]', '$_POST[omschrijving]') ";


    if (!mysqli_query($con, $sql)) {
        die('Error:' . mysqli_errno($con));
    }

    echo "1 record added";

}

mysqli_close($con);

?>

查看。您可以将它与您的
insert
语句一起使用,这样它就不会插入重复的语句。

您想检查数据库中是否存在
maakartikel
,没有插入权限吗?我有一个表单,您必须提供一个maakartikel。这个maakartikel大约是8个数字。如果这个maakartikel已经存在,它必须给出一个错误。如果没有,它会将其添加到数据库中。此代码中有SQL注入漏洞,请在使用之前始终转义或参数化您的用户输入。有人能告诉我如何修复它的代码吗?我马上就要,谢谢泽山。只有一个错误$query\u execute=mysqli\u query($check\u record);这是错误的。它必须是$query\u execute=mysqli\u query($con,$check\u record);
   $check = "select maakartikel from your_table_name";
   $res   =  mysqli_query($check);
   if($res->rowCount() > 0){
   $sql= "INSERT INTO mart (Maakartikel, Omschrijving)

            VALUES 

            ('$_POST[maakartikel]', '$_POST[omschrijving]') ";

    if (!mysqli_query($con, $sql))

    {
        die('Error:' . mysqli_errno($con));
    }

    echo "1 record added";
}else {
    echo "record already exist";
}