2016-01-20 44 views
0

我寫了一個代碼形式:書面方式對SQL用PHP

<form method="post"> 
<table> 
<tr> 
<td style="text-align:right">Artista:</td> 
<td><input type="text" name="artist" /></td> 
</tr> 
<tr> 
<td style="text-align:right">Titulo:</td> 
<td><input type="text" name="title" /></td> 
</tr> 
<tr> 
<td style="text-align:right">Capa (link):</td> 
<td><input type="text" name="cover" /></td> 
</tr> 
<tr> 
<td colspan="2"> 
<center> 
<input type="submit" style="margin-top:20px" /> 
</center> 
</td> 
</tr> 
</table> 
</form> 

然後我寫了一些PHP獲取對錶單中的資訊,並把它放在一個MySQL數據庫上。

if (isset($_POST['submit'])){ 
    $dbhost = 'HOST'; 
    $dbuser = 'USER'; 
    $dbpass = 'PASS'; 
    $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
    $artist = strtoupper($_POST[artist]); 
    $title = strtoupper($_POST[title]); 
    $cover = $_POST[cover]; 
    if(! $conn) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
    $sql = "INSERT INTO 'MusicList'('artist', 'title', 'cover', 'votes') VALUES ('".$artist."', '".$title."', '".$cover."', 0)"; 
mysql_select_db('DATABASE_NAME'); 
    $retval = mysql_query($sql, $conn); 
    if(! $retval) 
    { 
    die('Could not enter data: ' . mysql_error()); 
    } 
    echo "<center><h1>Success!</h1></center>"; 
    mysql_close($conn); 
    } 

但是看起來有些問題,因爲它沒有在SQL上寫任何東西。你能告訴我我寫錯了什麼嗎?

+0

你什麼錯誤?該程序輸出什麼? –

+0

它只是不寫在SQL上。 –

+0

將'around MusicList改爲反引號' –

回答

1

改變周圍的MusicList單引號是反引號,並且擺脫圍繞這樣的列名的單引號:

$sql = "INSERT INTO `MusicList`(artist, title, cover, votes) VALUES ('".$artist."', '".$title."', '".$cover."', 0)"; 

SQL沒有預料報價在這裏。

同樣如Fred指出的,您需要命名您的提交按鈕,否則if語句將始終爲false。

因此,像:

<input type="submit" name="submit_button" style="margin-top:20px" /> 

,改變if語句:

if (isset($_POST['submit_button'])){ 
+0

我會再看看你試圖修復的東西;-) –

+0

這確實需要修復嗎?還是我瘋了? –

+0

除了我看到您對 –