2016-11-08 128 views
-2
<?php 
@$code = $_POST['code']; 
@$name = $_POST['name']; 

@$city = $_POST['city']; 

$connect = mysql_connect("localhost", "root", "", "parth") or die("connection failed"); 

$sql_query = "INSERT INTO customer_master(customer_code,customer_name,customer_city) values(" . $code . ",'" . $name . "','" . $city . "');"; 
$result = mysql_query($sql, $connect); 

if ($result) { 
    echo "database connected"; 
} else { 

    echo "data not inserted"; 
} 
mysql_close($connect); 
?> 

上面提到的代碼是在數據庫中插入數據但未插入數據的代碼,沒有顯示任何錯誤,所以任何人都可以幫助我解決問題。要通過php頁面插入數據庫中的數據

+0

你錯過了單引號這裏 「$代碼。」並且不使用mysql *,使用mysqli *或PDO –

+0

這段代碼是_wiiiidddeeeee_開放給sql注入攻擊 – arkascha

+0

*「沒有錯誤被顯示」* - 那麼,你是a)主動地抑制錯誤和b)不檢查錯誤要麼...... – deceze

回答

-1

更改此:

$sql_query="INSERT INTO customer_master(customer_code,customer_name,customer_city) values(".$code.",'".$name."','".$city."');"; 
$result=mysql_query($sql,$connect); 

分爲: 「$代碼」

$sql_query="INSERT INTO customer_master(customer_code,customer_name,customer_city) values('".$code."','".$name."','".$city."')"; 
$result=mysql_query($sql_query,$connect); 
+0

雖然這可以解決手頭的問題,但增加關於完全過時和棄用的舊mysql擴展的用法的提示以及將這些參數連接起來的安全問題是有意義的。 – arkascha

+0

仍然無法正常工作 – parth

+0

@arkascha爲什麼不先幫助他解決最初的問題,然後當一切都很好時,去鼓勵他學習和學習'mysqli'或'PDO'? – Irvin

0

你犯了錯在這裏,錯過了現在的大幅貶值,單引號和你正在使用MySQL使用mysqli如下:

<?php 

     @$code=$_POST['code']; 
     @$name=$_POST['name']; 

     @$city=$_POST['city']; 

     $connect=mysqli_connect("localhost","root","","parth") or die("connection failed"); 

      $sql_query="INSERT INTO customer_master(customer_code,customer_name,customer_city) values('".$code."','".$name."','".$city."');"; 
      $result=mysqli_query($sql,$connect); 

if($result) 
    { 
echo "database connected"; 

    } 
      else 
     { 

echo "data not inserted"; 
     } 
     mysqli_close($connect); 


     ?> 
0

我從來沒有遇到過一個「@」在PHP中的變量聲明之前的情況,這對我來說是新的,但像lrvin和其他人指出的那樣,您在SQL中缺少單引號。

我不是連接的粉絲,我嘗試了連接路線(這只是一個首選項)犯了幾個錯誤。您可以按照lrvin的回答,也可以添加以下修改:

  • 刪除位於SQL末尾的第一個分號。
  • 不要使用級聯

  • 包含mysql_error函數。這會返回一條錯誤消息,指出您的錯誤。

    $sql_query="INSERT INTO customer_master(customer_code,customer_name,customer_city) values('$code', '$name', '$city')"; 
    $result=mysql_query($sql_query, $connect) or die(mysql_error($connect)); 
    

您應該考慮使用的mysqli替代的MySQL。 mysql已被棄用。

0
  1. 您錯過" . $code . "前後的單引號'
  2. 也刪除額外的分號;在插入查詢的末尾。 看到代碼:

    @$code = $_POST['code']; 
    @$name = $_POST['name']; 
    @$city = $_POST['city']; 
    $connect = mysql_connect("localhost", "root", "", "parth") or die("connection failed"); 
    
    $sql_query = "INSERT INTO customer_master(customer_code,customer_name,customer_city) values('" . $code . "','" . $name . "','" . $city . "')"; 
    $result = mysql_query($sql, $connect); 
    
    if ($result) { 
        echo "database connected"; 
    } else { 
        echo "data not inserted"; 
    } 
    mysql_close($connect); 
    
相關問題