PHP и MySQL предупреждающий вопрос Помощь?

0

Я пытаюсь преобразовать my script из mysql в mysqli, и во время процесса я получил следующую ошибку, указанную ниже.

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in on line 41

Warning: mysqli_error() expects exactly 1 parameter, 0 given in on line 43

Вот полный код ниже.

<?php

require_once ('./mysqli_connect.php'); // Connect to the db.

if (isset($_POST['submitted'])) {

// Query member data from the database and ready it for display
    $mysqli = new mysqli("localhost", "root", "", "sitename");
    $dbc = mysqli_query($mysqli,"SELECT * FROM tags");
if (!$dbc) {
    // There was an error...do something about it here...
    print mysqli_error($mysqli);
}

// grab the tag
$tag = mysqli_real_escape_string($mysqli, $_POST['tag']);

// see if the tag already exists and potentially what the current count is
    $mysqli = new mysqli("localhost", "root", "", "sitename");
    $dbc = mysqli_query($mysqli,"SELECT id, count, page FROM tags WHERE tag='$tag'");

//--if there is a row, that means the tag exists
if(mysqli_num_rows($dbc))
{
//--pull out the tag ID and the current count and increment by one.
  $tag_info = mysqli_fetch_array($result);
  $tag_info_id = $tag_info["id"];
  $tag_info_count = $tag_info["count"] + 1;

//--update the table with the new count
  $sql_update_cnt = "UPDATE tags SET count='$tag_info_count' 
                            WHERE id='$tag_info_id'";
  mysqli_query($sql_update_cnt);

  echo "$tag now with $tag_info_count instances";
}
else
{
// tag is not there, so insert a new instance
  $query = "INSERT INTO tags (tag, count) VALUES ('$tag', 1)";
if (!mysqli_query($query, $dbc))
  {
  die('Error: ' . mysqli_error());
  }
echo "1 record added";
}
mysqli_close($dbc);
}
?> 
  • 3
    Пожалуйста, не открывайте второй вопрос, когда первый еще открыт: stackoverflow.com/questions/1834834/…
  • 0
    Именно то, что я собирался сказать.
Показать ещё 1 комментарий
Теги:

2 ответа

0

Могу ли я предложить вам сделать шаг назад и использовать оболочку для mysqli? Я использую Rob Poyntz codesense_mysqli обертки последовательно в последние месяцы, и я обнаружил, что он отлично подходит для уменьшения огромного количества трещин, которые mysqli в противном случае сбрасывает ваш код.

Конечно, хорошо знать, что происходит под капотом, но иногда нужен просто самый чистый способ заставить машину работать.

0

вы вызываете его неправильно.

Должно быть $mysqli->query("SELECT * FROM tags");

$mysqli - это объект, а запрос - метод этого объекта. Для этого требуется только передать запрос. Очевидно, что все вызовы mysqi_query должны быть изменены для соответствия.

  • 0
    Он использует процедурный API, а не OO.
  • 0
    Поэтому он должен использовать mysqli_connect

Ещё вопросы

Сообщество Overcoder
Наверх
Меню