2014-01-17 49 views
0

我有一個簡單的插入語句應該使用具有我的連接字符串的$ GLOBALS。問題是它不插入數據。我是否正確地做了這件事?php添加到插入數據庫的數據庫

Insert.php

<?php 
require 'core/init.php'; 

$Name = $_REQUEST["Name"]; 
$Venue = $_REQUEST["Venue"]; 
$Category = $_REQUEST["Category"]; 

$query = "INSERT INTO bands (Name, Venue, Category) 
      VALUES ('$Name', '$Venue', '$Category')"; 
mysql_query ($query,$GLOBALS) 
    or die ("could not add to database"); 

echo("You have added: <br />"); 
$result = mysql_query("SELECT * FROM bands ORDER BY Band_id DESC LIMIT 1"); 

while($row = mysql_fetch_array($result)) 
{ 
    echo $row['Name']. "" . $row['Venue']. "" . $row['Category']; 
    echo "<br />"; 
} 
?> 
+0

你會得到什麼錯誤?你做了什麼來解決這個問題? –

+6

[請不要在新代碼中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[紅框](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 **您也可以[SQL注入](http://stackoverflow.com/q/60174)** –

+0

我只是收到消息「無法添加到數據庫」,我已經通過編譯器運行它,沒有錯誤。我將如何運行進一步的檢查? – Beep

回答

0

你不把整個$GLOBALS變量在mysql_query()通話。你把特定的變量,只有連接字符串:

mysql_query($query, $GLOBALS['connection']) // Assuming you called the connection var "connection" 
    or die ("could not add to database"); 
+0

謝謝約翰,清除了一些東西。 – Beep

1

您需要的MySQL與mysql_connect()功能,然後選擇數據庫mysql_select_db()功能進行連接,那麼你可以調用的mysql_query功能

你真的不能執行與查詢字符串查詢參數你需要先執行連接查詢,然後選擇你的數據庫

And i suggest you to use mysqli instead of mysql cuz mysql methods will be deprecated soon