2016-12-07 69 views
0

我是新來的,閱讀等問題,但找不到答案。我正在嘗試編寫一個簡單的PHP腳本來將新行插入到MySQL數據庫中。插入數據到MySQL表 - 命令行

我使用Ubuntu的服務器沒有GUI。我的腳本看起來像那樣。

<?php 

$host = "localhost"; 
$db_user = "root"; 
$db_password = ""; 
$db_name = "books_test"; 

$polaczenie = mysqli_connect($host, $db_user, $db_password, $db_name); 

if($polaczenie->connect_errno!=0) 
{ 
    echo "Error\n"; 
} 

else 
{ 
    echo "Polaczono z baza\n"; 
    $SQL="INSERT INTO books VALUES (DEFAULT, 'Alicja w Krainie czarów', 'Carol Luis', 
      'England')"; 

    if (@mysqli_query($SQL, $polaczenie)){ 
    echo "Nowy rekord dodany prawidlowo\n"; 
     } 

    else{ 
    echo "Nie dodano nowego rekordu\n"; 

    } 
} ?> 

它顯示與數據庫的連接正常但仍未插入一行。你有什麼想法?

非常感謝

+0

也許你需要的列名添加到您的插入語句......一些這樣的: 插入成冊(「columnA」,「columnB」)VALUES(「A」 , 'B'); 當語句中使用的字值。 不使用時的值關鍵字可插入使用成冊(「A」,「B」);聲明。 –

+0

你是否檢查'mysqli_error(mysqli的$鏈接)' – JustOnUnderMillions

+0

和鏈接至上不是SQL查詢'mysqli_query(mysqli的$鏈接,串$查詢)' – JustOnUnderMillions

回答

1

只要改變mysqli_query($SQL, $polaczenie)mysqli_query($polaczenie,$SQL)

但嘗試使用對象樣式只不是程序性的風格! 而不要混合使用它們,讀到這裏:http://php.net/manual/en/mysqli.quickstart.dual-interface.php

+0

嗨。我試圖按照你的建議使用面向對象的查詢,但它不工作。這就是爲什麼我嘗試了程序化的方式,但它也不起作用。這同樣適用於改變地方的$ polaczenie和$ SQL –

+0

使用try catch來得到錯誤描述 –

+0

我不知道whethe我是正確的,但我加試,趕上這樣的嘗試 \t \t { \t \t(@ $ polaczenie->查詢($ SQL)); \t \t} \t \t 趕上(例外$ E) \t \t { \t \t \t回聲 '消息:'。 $ E->的getMessage(); \t \t} 和它不工作 –