2014-01-17 119 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