2013-10-14 4 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() ); 

мне нужно несколько советов, спасибо заранее и Б.Т. w извините за моего бедного английского языка.

+0

Волшебно изменения '' mysql_' в mysqli_ 'doe s не исправляет проблемы с инъекцией. Использовать утверждения и связывать переменные. – h2ooooooo

+0

ok, так что вы предлагаете мне оставаться в Mysql? ну да я могу привязывать переменные, но я не уверен в этом lol .. У меня есть этот простой форум, который я сделал для моего сайта, который является чистым mysql. я просто пытаюсь мигрировать, но любопытное дает мне немного путаницы, потому что я не очень опытный или озаглавленный программист, я только что узнал все это от поиска, так как от поиска yahoo до google haha ​​здесь это .. www. wydpilipinas. com/forum – user2879926

+0

Ни в коем случае. Вы ** должны ** использовать 'mysqli' с операторами/связанными переменными или' PDO'. Не удивительно сложно превратиться в 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

Ok thanks для справки .. это не решит мою проблему ... лучше остаться в Устаревшем mysql на данный момент .. – user2879926