【问题标题】:sql query is not runningsql查询未运行
【发布时间】:2018-03-16 05:43:37
【问题描述】:
<?php
include"connect.php";

    $name =     $_REQUEST['name'];
    $address =  $_REQUEST['address'];
    $password =     $_REQUEST['password'];
    $email =    $_REQUEST['email'];
    $number =   $_REQUEST['number'];
    $hear =     $_REQUEST['hear'];
    $money =    $_REQUEST['money'];
    $artist =   $_REQUEST['artist'];
    $security = $_REQUEST['security'];
    $city =     $_REQUEST['city'];
    $pro =  $_REQUEST['pro'];
    $role =     $_REQUEST['role'];
    $accname =  $_REQUEST['accname'];
    $accpass =  $_REQUEST['accpass'];
    $accno =    $_REQUEST['accno'];
    $seaccname =    $_REQUEST['seaccname'];
    $seaccpass =    $_REQUEST['seaccpass'];
    $seaccno =  $_REQUEST['seaccno'];
    $contracts = $_REQUEST['contracts'];
    $statements =   $_REQUEST['statements'];

    $result = mysqli_query($con, "insert into signup set name='$name',email='$email',password='$password' ,address='$address',cell_phone_number='$number',heard_from='$hear',money_time='$money',fav_artist='$artist',fav_city='$city',security_question='$security',pro='$pro',pro_acc_name='$accname',pro_acc_password='$accpass',pro_acc_number='$accno',se_acc_name='$seaccname',se_acc_pass='$seaccpass',se_ac_number='$seaccno',rec_contract_copy='$contracts',rec_label_copy='$statements',role='$role'");

//$result= mysqli_query($con, "INSERT INTO signup (name, email,password, address,cell_phone_number, heard_from,money_time, fav_artist,fav_city,security_question, pro,pro_acc_name, pro_acc_password,pro_acc_number, se_acc_name,se_acc_pass, se_ac_number,rec_contract_copy, rec_label_copy,role) VALUES ('$name', '$email', '$password', '$address', '$number', '$hear', '$money', '$artist', '$security', '$city', '$pro', '$role', '$accname', '$accpass', '$accno', '$seaccname', '$seaccpass', '$seaccno', '$contracts', '$statements')");



    if($result==true)
    {
        //echo "<script>alert('user successfully added')</script>";
        echo "Success";

    }
else{

    echo "Failed" ;

}


?>

【问题讨论】:

  • 然后检查真正的错误。如果您不知道如何,请询问。连接未知,是否所有$_REQUEST 都具有价值。
  • mysqli_error($con) 的输出是什么?
  • 您的代码容易受到SQL injection 攻击。您应该通过mysqliPDO 驱动程序使用带有绑定参数的预处理语句。 This post 有一些很好的例子。
  • 我在同一个页面上有三个表单,但在不同的幻灯片上,按钮从一个页面移动到另一个页面,最后一个完成按钮提交数据并发送到数据库,但它不起作用并在此代码中通过 echo 显示失败,我为此使用 ajax。

标签: php mysql sql


【解决方案1】:

它不会运行,因为您的查询错误,您使用的是更新格式的插入语句。

$result= mysqli_query($con, "INSERT INTO signup (name, email,password, address,cell_phone_number, heard_from,money_time, fav_artist,fav_city,security_question, pro,pro_acc_name, pro_acc_password,pro_acc_number, se_acc_name,se_acc_pass, se_ac_number,rec_contract_copy, rec_label_copy,role) VALUES ('$name', '$email', '$password', '$address', '$number', '$hear', '$money', '$artist', '$security', '$city', '$pro', '$role', '$accname', '$accpass', '$accno', '$seaccname', '$seaccpass', '$seaccno', '$contracts', '$statements')");

还有更多信息,开始使用 Prepared Statement PDO

【讨论】:

    【解决方案2】:

    看起来不错。问题可能出在 connect.php 中,或者 $_REQUEST 中的名称与发送请求的文件中的名称不同。还要检查您要插入的数据库中的属性名称是否与查询中的名称匹配。

    【讨论】:

      猜你喜欢
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-05
      • 1970-01-01
      • 2019-08-25
      • 1970-01-01
      相关资源
      最近更新 更多