2014-10-15 4 views
0

Я пытаюсь преобразовать mysql-запрос в mysqli, но он не работает ... почему? От:Запрос Mysql в mysqli-запрос UPDATE-оператор

mysql_query("UPDATE views SET views=views+1 WHERE viewID='1'"); 

To:

$q1 = $mysqli->query("UPDATE views SET views=views+1 WHERE viewID='1'"); 

Notice: Undefined variable: mysqli in

Fatal error: Call to a member function query() on a non-object

Когда я

mysqli_query("UPDATE views SET views=views+1 WHERE viewID='1'"); 

mysqli_query expects two parameters

+0

Что происходит, когда вы выполняете mysqli_query («Представления UPDATE SET views = views + 1 WHERE viewID = '1'"); '. Далее я предлагаю вам перейти через PDO –

+0

Можете начать работу с 'mysqli_' (kudos для перехода туда!), Прочитав [руководство по php.net] (http://php.net/manual/en/mysqli. quickstart.connections.php) –

+0

Ну, сначала вам нужно создать экземпляр 'mysqli' (в переменной' mysqli'), используя '$ mysqli = mysqli_connect (...)' или '$ myslqi = new mysqli (. ..) ' – Phil

ответ

2

Поскольку вы не инициализируется объект Mysqli с именем $mysqli. Есть 2 способа сделать что

Процедурный

Если вы хотите это делать процедурное, как вы могли бы сделать это, как этот

$q1 = mysqli_query($connection,"UPDATE views SET views=views+1 WHERE viewID=1"); 

Где $connection является результатом mysqli_connect, как это

$connection = mysqli_connect("localhost", "my_user", "my_password", "my_database"); 

ООП

Если вы хотите сделать это ООП путь, вы должны инициализировать ваш $mysqli как этот

$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database"); 

И тогда вы можете запросить как

$q1=$mysqli->query("UPDATE views SET views=views+1 WHERE viewID=1"); 

Manual

+0

и в случае, если это вызывает путаницу, где Hanky ​​имеет« мир », то есть параметр * db_name *. – Phil

+0

Спасибо @Phil обновлено соответственно –

+0

спасибо большое –

0

@Ron Manuela, сначала создайте объект mysqli ниже &, затем используйте это объект так что ваша ошибка будет решена :)

$mysqli = new mysqli("localhost", "user", "password", "database"); 

После создания объекта вы можете написать запрос, как показано ниже:

$q1=$mysqli->query("UPDATE views SET views=views+1 WHERE viewID='1'"); 

Позвольте мне знать, если еще какие-либо вопросы.

+0

тоже очень большое спасибо –

+0

@RonManuela, если мой ответ поможет вам, тогда вы можете его проголосовать. Благодарю. –

+0

ГОЛОСОВАНИЕ ТРЕБУЕТ 15 РЕПУТАЦИЙ? –