2016-11-05 48 views
-5

mysqli_query功能不能正常工作問題與mysqli_query

$query=mysqli_query($config,"INSERT into users (username,first_name,last_name,email,password) VALUES('$un','$fn','$ln','$em','$pass','$date','0')");"); 

當我附和SQL查詢它工作得很好,但是當我試圖插入到數據庫中的沒有做任何事情,並進入下一行。

我用了一個提交按鈕這樣$signup = @$_POST['signup'];

signup是提交按鈕的名稱。

+0

你確定查詢是否已經完成?它沒有提到要插入什麼...... –

+0

插入什麼?你沒有指定你想插入的東西 –

+0

它是這樣的:$ query = mysqli_query($ config,「INSERT into users VALUES('$ un','$ fn','$ ln','$ em','$傳, '$日期', '0')「); – David

回答

0

信息

有INSERT INTO中心聲明兩個基本的語法如下:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN); 

您可能不需要在SQL查詢指定列(S)的名字,如果您要添加值爲全部爲表中的列。

INSERT INTO TABLE_NAME VALUES (value1,value2,value3); 

如何檢查錯誤

您還可以檢查您的網絡連接是否estabilished還是有與下面的代碼的任何錯誤:

if (!$config) { 
    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; 
} 

或結束時,你可以檢查你的查詢錯誤:

echo mysqli_error($config); 

個有關調試,你可以閱讀你的代碼here

問題的詳細信息

在你的代碼有太多的)應該像如下:

$query=mysqli_query($config,"INSERT into users (username,first_name,last_name,email,password) VALUES('$un','$fn','$ln','$em','$pass','$date','0');"); 

2. 此外,你正試圖插入7個值到5個表格,有太多的VALUES,或者你寫了太少的表。

刪除@之前你$_POST,因爲也許有一些錯誤,這會導致它不會出現。更多信息可以發現here

+0

是的,這就是我正在做的,但它不工作 – David

+0

告訴我們你在'$ config'中得到了什麼 –

+0

$ config = mysqli_connect(「localhost」,「root」,「」,「site」)or die(「could not select到數據庫「); – David

1

那麼你需要修復您的查詢,因爲你已經說5場,並試圖插入7個值...

所以一旦你知道字段名「no_clue_what_this_guy_is_called和日期「然後你可能會進一步進步。另外,請注意你的「),因爲你有太多...

而在另一個說明中,請不要使用簡短的變量名,這只是一個痛苦的事情,不需要輸入」大字「。 un應該是$ user_name或類似的。

因此,基於你的問題和不好的變量名,你想要的東西像...

$query = mysqli_query($config, "INSERT into users(
        username, 
        first_name, 
        last_name, 
        email, 
        password, 
        date, 
        no_clue_what_this_guy_is_called 
        ) VALUES (
        '$un', 
        '$fn', 
        '$ln', 
        '$em', 
        '$pass', 
        '$date', 
        '0' 
        )"); 

,你只需要引用是VARCHAR處理/文本等的列。不要在整數週圍使用單引號。

還有更多可以說,但這應該讓你在你的問題的這一部分工作。 我不確定在表格中定義了什麼類型'0'。

0

我建議你使用這樣

$con = mysqli_connect("host_name","db_username","db_password","db_name"); 

$query = "insert into tbl_name(col1,col2,col3) values('$val1','$val2','$val3')"; 

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