Php 无法使用mysqli在数据库中存储数据

Php 无法使用mysqli在数据库中存储数据,php,mysqli,Php,Mysqli,我有一个联系表格,试图将数据存储在数据库中并发送到电子邮件。但是,我可以发送电子邮件,但没有数据保存在我的数据库中 我的代码如下: <?php /*database connection */ $servername = "localhost"; $username = "root"; $password = ""; $dbname = "webcontact_db"; // Create connection $conn = mysqli_connect($servername, $u

我有一个联系表格,试图将数据存储在数据库中并发送到电子邮件。但是,我可以发送电子邮件,但没有数据保存在我的数据库中

我的代码如下:

<?php
/*database connection  */
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "webcontact_db";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
/*Email connection*/
$captcha;
if (isset($_POST['g-recaptcha-response'])) { $captcha = $_POST['g-recaptcha-response']; }
$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LfwRh0UAAAAAAKKCQxtUUGdOgIXETU2rEPRtpqz&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
if (!$captcha || $response.success == false) {
    echo "<script>alert('Veuillez valider le captcha de s\351curit\351;');window.location.href='contact.php';</script>";
    exit ;
  } 
    else {
         $title = $_POST['title'];
 $fname = $_POST['fname'];
 $lname = $_POST['lname'];
 $tel = $_POST['tel'];
 $address = $_POST['address'];
  $email = $_POST['email'];
  $message = $_POST['message'];
$sql = "INSERT INTO contact(title,fname,lname,tel,address,email,message) values('$title',$fname','$lname','$tel','$address','$email','$message')";
if(!mysqli_query($con,$sql)){
    $to = 'myemail.com';
    $subject =  $_POST['sub'];
    $message = "<strong>D\351tails du formulaire:&nbsp;</strong> "."</strong>" ."<br /><br /> " . "<strong>Nom:&nbsp;</strong>" .$_POST['title']. $_POST['fname'].$_POST['lname']."<br /><br /> " . "<strong>Tel:&nbsp;</strong>" . $_POST['tel'] ."<br /><br /> " . "<strong>Adresse:&nbsp;</strong>" . $_POST['address']. "<br /><br /> " . "<strong>E-mail:&nbsp;</strong>" . $_POST['email']. "<br /><br /> " ."<strong>Message:&nbsp;</strong>" . $_POST['message'];
    $headers = "From:" .$_POST['fname']. $_POST['lname']."$email";
    $headers .= "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $message = wordwrap($message, 70, "\r\n");
    if (mail($to, $subject, $message, $headers)) {
        echo "<script>alert('Merci ! Votre formulaire a \351t\351 envoy\351.!');window.location.href='contact.php';</script>";
    } else {
        echo "<script>('Echec de l'envoi, veuillez r\351essayer')</script>";
        exit ;
    }
}
    }
mysqli_close($conn);
?>

您在mysqli_query()函数中使用了另一个变量,即$con而不是$conn。此外,您输入了错误的条件。还希望下面的代码能够帮助您删除!从if条件签名

    <?php
        /*database connection  */
        $servername = "localhost";
        $username = "root";
        $password = "";
        $dbname = "webcontact_db";
        // Create connection
        $conn = mysqli_connect($servername, $username, $password, $dbname);
        // Check connection
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
        /*Email connection*/
        $captcha;
        if (isset($_POST['g-recaptcha-response'])) { $captcha = $_POST['g-recaptcha-response']; }
        $response = file_get_contents("google.com/recaptcha/api/…; . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']."); 
        $result = json_decode($response);
        if (!$captcha || $result['success'] == false)  {
            echo "<script>alert('Veuillez valider le captcha de s\351curit\351;');window.location.href='contact.php';</script>";
            exit ;
          } 
            else {
                 $title = $_POST['title'];
         $fname = $_POST['fname'];
         $lname = $_POST['lname'];
         $tel = $_POST['tel'];
         $address = $_POST['address'];
          $email = $_POST['email'];
          $message = $_POST['message'];
        $sql = "INSERT INTO contact(title,fname,lname,tel,address,email,message) values('$title',$fname','$lname','$tel','$address','$email','$message')";
        if(mysqli_query($conn,$sql)){
            $to = 'myemail.com';
            $subject =  $_POST['sub'];
            $message = "<strong>D\351tails du formulaire:&nbsp;</strong> "."</strong>" ."<br /><br /> " . "<strong>Nom:&nbsp;</strong>" .$_POST['title']. $_POST['fname'].$_POST['lname']."<br /><br /> " . "<strong>Tel:&nbsp;</strong>" . $_POST['tel'] ."<br /><br /> " . "<strong>Adresse:&nbsp;</strong>" . $_POST['address']. "<br /><br /> " . "<strong>E-mail:&nbsp;</strong>" . $_POST['email']. "<br /><br /> " ."<strong>Message:&nbsp;</strong>" . $_POST['message'];
            $headers = "From:" .$_POST['fname']. $_POST['lname']."$email";
            $headers .= "MIME-Version: 1.0" . "\r\n";
            $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
            $message = wordwrap($message, 70, "\r\n");
            if (mail($to, $subject, $message, $headers)) {
                echo "<script>alert('Merci ! Votre formulaire a \351t\351 envoy\351.!');window.location.href='contact.php';</script>";
            } else {
                echo "<script>('Echec de l'envoi, veuillez r\351essayer')</script>";
                exit ;
            }
        }
            }
        mysqli_close($conn);
        ?>

您的
$conn
有印刷错误,您只需键入
$con
。以下代码已在此处修复

$sql = "INSERT INTO contact(title,fname,lname,tel,address,email,message) values('$title',$fname','$lname','$tel','$address','$email','$message')";
if(!mysqli_query($conn,$sql)){
   //Some codes right here...

echo mysqli_错误($con)
可能会告诉您,除了一般的PHP错误报告之外,
错误报告(E_ALL)的原因;ini设置(“显示错误”,1)如果您对SQL注入开放,请使用参数化查询。这也可能是问题所在。错误报告将告诉您更多信息。此外,
$conn
!=<代码>$con
$response.success
似乎不是您想要的。我的代码中是否有任何错误?使用未定义的常量success-在C:\xampp\htdocs\testv\sendcontact.php第21行假设“success”,我得到这个使用json\u decode()函数$response=file\u获取内容(“$captcha.”&remoteip=“.$\u SERVER['REMOTE\u ADDR')); $结果=json_解码($response);如果(!$captcha | |$result['success']==false){