【问题标题】:Form Not Posting To SQL Database [duplicate]表单未发布到 SQL 数据库 [重复]
【发布时间】:2018-07-28 02:45:50
【问题描述】:

我有这个表格,但我无法将它发布到我的 sql 数据库?

https://xcanberracars.com/assets/booking/bookride_bu240118.php

这是我相信我一切都正确的代码,但显然不是。

error_reporting(E_ALL & ~(E_STRICT|E_NOTICE|E_WARNING));

$host="localhost";
$dbuser="xcanberr_accountmanager";
$dbpass="*********”;
$dbname="xcanberr_PromoCodes";

$link = mysqli_connect($host, $dbuser, $dbpass,$dbname);
if(!$link)
{
    echo "ERROR| Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;

    $booking_id = "XBR".date("dmYHis");

    $sql = "INSERT INTO booking_table (bookingID, first_name, last_name, email, phone, pickup_location, drop_location)
    VALUES ('$bookingId', '$firstName', '$lastName', '$email', '$phone,'$pickupAddressLine1', '$dropAddressLine1')";

    mysqli_query($conn, $sql);

我可以让它在我的本地主机上工作,但不能在服务器上工作

【问题讨论】:

  • 公布数据库的用户名和密码可能不太明智。
  • 如果脚本相同,您应该在两台服务器上得到相同的 SQL 语法错误(如果您正在检查)。当然,这也是参数绑定不会遇到的问题。
  • $booking_id'$bookingId', 不一样,看看吧
  • 即使你不关心安全性,如果一个叫“O'Connor”的人想和你预订东西,你的 SQL 注入漏洞也会导致问题,因为他们名字中的撇号会让你的代码崩溃。

标签: php mysql database dbconnection


【解决方案1】:

在您的代码中,它们有 2 个错误。

1- 行号19 '$phone 应该是 '$phone'

2- 行号21 mysqli_query($conn, $sql);应该是 mysqli_query($link, $sql);

3- booking_id 和 bookingId

使用此代码

error_reporting(E_ALL & ~(E_STRICT|E_NOTICE|E_WARNING));

$host="localhost";
$dbuser="xcanberr_accountmanager";
$dbpass="*********”;
$dbname="xcanberr_PromoCodes";

$link = mysqli_connect($host, $dbuser, $dbpass,$dbname);
if(!$link){


    $bookingId = "XBR".date("dmYHis");

    $firstName          = mysqli_real_escape_string($link, $firstName);
    $email              = mysqli_real_escape_string($link, $email);
    $phone              = mysqli_real_escape_string($link, $phone);
    $pickupAddressLine1 = mysqli_real_escape_string($link, $pickupAddressLine1);
    $dropAddressLine1   = mysqli_real_escape_string($link, $dropAddressLine1);

    $sql = "INSERT INTO booking_table (bookingID, first_name, last_name, email, phone, pickup_location, drop_location)
    VALUES ('$bookingId', '$firstName', '$lastName', '$email', '$phone','$pickupAddressLine1', '$dropAddressLine1')";

    mysqli_query($link, $sql);

【讨论】:

  • $dbpass="*********”
猜你喜欢
  • 2012-06-28
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
相关资源
最近更新 更多