2014-01-17 2 views
0

내 연결 문자열이 들어있는 $ GLOBALS를 사용해야하는 간단한 insert 문이 있습니다. 문제는 데이터를 삽입하지 않는다는 것입니다. 이 작업을 올바르게 수행 했습니까?php insert statment가있는 데이터베이스에 추가

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)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). ** 당신은 또한 [SQL injections] (http://stackoverflow.com/q/60174)에 대해 활짝 열려 있습니다 ** –

+0

"데이터베이스에 추가 할 수 없습니다"라는 메시지가 나타납니다. 컴파일러를 통해 실행했습니다. 오류가 없습니다. 어떻게 추가 수표를 발행해야합니까? – Beep

답변

0

당신은 당신의 mysql_query() 전화에 전체 $GLOBALS 변수를 넣지 마십시오.

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

몇 가지를 정리 한 John에게 감사드립니다. – Beep

1

당신은 방금 캔트 쿼리 문자열 쿼리를 실행 한 다음는 mysql_query 기능을

를 호출 할 수 있습니다 mysql_select_db() 기능을 mysql_connect() 기능을 선택한 다음 데이터베이스와 mysql을 연결해야합니다 : 당신은 연결 문자열에 특정 변수를 넣어 매개 변수를 사용하여 해당 연결 쿼리를 먼저 실행 한 다음 데이터베이스를 선택해야합니다.

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