2010-08-10 66 views
1

我正在使用的代碼:PHP MySQL的不是讓我插入表

function insertV($deptx, $coursex, $secx, $isbnx,$titlex, $authorx,$usedpx,$newpx) 
{ 
$sql = "INSERT INTO `$deptx` (`course`, `sec`, `isbn`, `title`, `author`, `usedp`, `newp`) 
VALUES ('$coursex','$secx','$isbnx','$titlex','$authorx','$usedpx','$newpx')"; 

if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

} 

$dept = "ACCOUNTG"; 
$course = "340"; 
$sec = "101"; 
$isbn = "9780324651140"; 
$title = "FINANCIAL ACCOUNTING"; 
$author = "STICKNEY"; 
$usedp = "$129.75"; 
$newp = "$199.75"; 
insertV($dept,$course,$sec,$isbn,$title,$author,$usedp,$newp); 

但我不斷收到一個錯誤:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/public_html/mysite.com/myscript.php on line 14 Error:

我猜它與我做試圖訪問一個表使用var?

任何幫助,將不勝感激,我還是新的PHP,如果你不能告訴:P

編輯:噢,行14

if (!mysql_query($sql,$con)) 

回答

1

您沒有定義您$con內的功能。這是PHP的範圍規則的一部分。在函數外定義的變量不是一個函數中顯示,除非你聲明它們global,你需要這樣的事:

function insertV(...) { 
    global $con; 

    $query = "..."; 
    etc... 
} 

所以,錯誤是由於$ CON是空的功能,這是「內不是有效的MySQL鏈接資源「

+0

Ahhhhh,這是有道理的。謝謝! – Sally 2010-08-10 15:33:31

6

該錯誤表示您提供給mysql_query$con)的連接不是有效的MySQL資源。從未在任何地方的功能中定義$con。您想查詢前打開一個連接,像這樣:

$con = mysql_connect("[mysql server hostname]", "[mysql username]", "[mysql password]"); 

如果您已經創建了功能之外你的MySQL服務器的連接,您可以通過在頂部加入global $con;導入全局$ CON變量你的功能(如果你想了解更多信息,請參閱php文檔中的variable scope)。

或者,連接資源是所有mysql函數中的一個可選參數,因此您只需使用mysql_query(...)(不指定連接),PHP將使用由mysql_connect打開的最後一個連接。

+0

+1連接是mysql_query()中的可選參數 – 2010-08-10 15:59:21