2013-10-14 97 views
-1

嗨,我是Msqli的新手,因爲我現在正在遷移我所有的mysql代碼。因爲MySQL現在已經過時,現在我有我的連接mysqli insert in php

function rlConnection() 
{ 
    global $g_link; 
    if($g_link) 
     return $g_link; 
    $g_link = mysql_connect('localhost', 'username', 'password') or die('Could not connect to server.'); 
    mysql_select_db('forum', $g_link) or die('Could not select database.'); 
    return $g_link; 
} 

function CleanConnection() 
{ 
    global $g_link; 
    if($g_link != false) 
     mysql_close($g_link); 
    $g_link = false; 
} 

,我特林插入一些值,並給我這個錯誤

警告:mysqli_query()預計參數1是mysqli的,字符串中給定的

對上述錯誤的代碼是

 include("dbconfig.php"); 

    mysqli_query("SET NAMES 'utf8'");  

    $pid = $_POST['categories']; 
    $name=mysql_real_escape_string($_POST['forumname']); 
    $description=mysql_real_escape_string($_POST['description']); 

    $date = time(); 
    $locked = 0; 

    mysqli_query("INSERT INTO forum (pid, name, description) VALUES ('$pid', '$name', '$description')", rlConnection() ); 

我需要一些快速的建議在此先感謝和BT對不起我的英語不好..

+0

奇妙的改變'mysql_'到'mysqli_ 'doe沒有解決你的注射問題。使用語句並綁定變量。 – h2ooooooo

+0

好,所以你建議我留在Mysql是對的嗎?以及是我可以綁定變量,但我不知道它大聲笑.. 我有這個簡單的論壇,我爲我的網站是純粹的MySQL。我只是想遷移,但有點讓我有點困惑,因爲我不是一個真正的熟練或有名的程序員,我只是從搜索中學到了所有東西,因爲從雅虎搜索谷歌之前,哈哈這裏是.. www。 wydpilipinas。 com /論壇 – user2879926

+0

沒辦法。你**應該使用帶有語句/綁定變量或'PDO'的'mysqli'。如果你做了一個簡單的準備包裝函數,用綁定的參數變成'mysqli'並不奇怪。 – h2ooooooo

回答

0

看看mysqli_query文檔。第一個參數預計是一個mysqli鏈接。

mixed mysqli_query (mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ]) 

從本質上講,$g_link是:

mysqli_query(rlConnection(), "SET NAMES 'utf8'"); 

mysqli_query(rlConnection(), "INSERT INTO forum (pid, name, description) VALUES ('$pid', '$name', '$description')"); 

然後改變你的連接字符串使用mysqli_connect

$g_link = mysqli_connect('localhost', 'username', 'password', 'forum') 
+0

好的謝謝爲幫助..這不會解決我的問題...現在更好地停留在已棄用的MySQL .. – user2879926