将查询插入在线MySQL数据库不起作用

时间:2017-06-13 19:58:59

标签: php mysql

我正在尝试将数据插入在线MySql数据库,几个月前我使用此查询现在它似乎无法正常工作,

我的表格:

$name = "Hilary";
$number = "768";
$orderss = "Rice x1";
$location = "Chilenje";

$con= mysqli_connect($host,$user,$pass,$db);

$query= "insert into orders values('".$name."','".$number."','".$orderss."','".$location."');";

$result= mysqli_query($con,$query);

if(!$result)
{
    $response = array();
    $code= "reg_false";
    $message="Error Placing Order...";
    array_push($response,array("code"=>$code,"message"=>$message));
    echo json_encode(array("server_response"=>$response));

}
else
{
    $response = array();
    $code= "reg_true";
    $message="Order Successful,Please wait for our call...";
    array_push($response,array("code"=>$code,"message"=>$message));
    echo json_encode(array("server_response"=>$response));

}

mysqli_close($con);

?>

当我运行此表单时,我得到"错误下订单"部分服务器响应和值未插入。请帮助我

1 个答案:

答案 0 :(得分:0)

如果您要插入表格的所有列

,请使$stmt = $conn->prepare("INSERT INTO orders VALUES (?, ?, ?, ?)"); $stmt->bind_param("siss", $name, $number, $orderss, $location); 非常简单
column_name*

或者如果您要插入特定列,则可以将$stmt = $conn->prepare("INSERT INTO orders (column_name1, column_name2, column_name3, column_name4) VALUES (?, ?, ?, ?)"); $stmt->bind_param("siss", $name, $number, $orderss, $location); 替换为您的实际列名

来使用此列
"siss"

或者我也修改了您当前的代码,以便您可以在最后测试另外一件事i - integer, d - double, s - string, b - BLOB是4种不同类型的参数<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $name = "Hilary"; $number = "768"; $orderss = "Rice x1"; $location = "Chilenje"; // Create connection $con = new mysqli($servername, $username, $password, $dbname); // Check connection if ($con->connect_error) { die("Connection failed: " . $con->connect_error); } // prepare and bind $stmt = $conn->prepare("INSERT INTO orders VALUES (?, ?, ?, ?)"); $stmt->bind_param("siss", $name, $number, $orderss, $location); if($stmt->execute()) { $stmt->execute(); $response = array(); $code= "reg_true"; $message="Order Successful,Please wait for our call..."; array_push($response,array("code"=>$code,"message"=>$message)); echo json_encode(array("server_response"=>$response)); } else { $response = array(); $code= "reg_false"; $message="Error Placing Order..."; array_push($response,array("code"=>$code,"message"=>$message)); echo json_encode(array("server_response"=>$response)); } $stmt->close(); $con->close(); ?>

p = &j;