2013-09-06 4 views
0

У меня есть новое для программирования на PHP и вы хотите создать доступ к базе данных, которую я создал. Мне удалось получить успешную связь между PHP и моей базой данных, но проблема возникает, когда я пытаюсь запустить простой запрос.mysqli_query() ожидает, что параметр 1 будет mysqli

Я получаю страшное сообщение mysqli_query() ожидает, что параметр 1 будет mysqli. Я видел многочисленные проблемы по этому поводу в Интернете. Я до сих пор не могу разрешить свою ситуацию. Может кто-то пожалуйста, адрес мой код здесь:

$mysqli= mysql_connect($hostname,$username,$password,'japanesewords') 
    or die("Unable to connect to MySQL"); 
echo "Connected to MySQL<br>"; 
mysqli_query($mysqli, 'SELECT * FROM japanesedefinition') or die(mysql_error($mysqli)); 
+6

микшерного 'mysqli_ *' с '' mysql_ * ** опечатка? ** –

+0

Нет, я не уверен, где опечатка есть. Я действительно новичок в этом. Не могли бы вы объяснить мне немного больше. Я действительно хочу это понять. – Louis345

+0

Хорошо, я понимаю, что вы имеете в виду, я думаю, что исправил его, но теперь я получаю еще одно сообщение об ошибке: Доступ запрещен для пользователя. – Louis345

ответ

1

Почему бы вам не использовать PDO?

<?php 

try { 

    // config 
    $dsn = 'mysql:dbname=japanesewords;host=127.0.0.1;charset=utf8'; 
    $username = 'root'; 
    $password = ''; 
    $options = array(
     // necessary for rowCount() on SELECT 
     PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, 
     // for catching SQL errors as PDOException 
     PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 
     // default fetch mode is used for iterating PDOStatement by foreach() 
     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, 
    ); 

    // connect 
    $pdo = new PDO($dsn, $username, $password, $options); 

    // execute SQL 
    $stmt = $pdo->query('SELECT * FROM japanesedefinition'); 

    // check row count 
    if (!$stmt->rowCount()) { 
     throw new Exception('no data'); 
    } 

    // fetch results and display 
    echo "<p>\n"; 
    foreach ($stmt as $row) { 
     printf("foo: %s; bar: %s;<br />\n", $row->foo, $row->bar); 
    } 
    echo "</p>\n"; 

} catch (Exception $e) { 

    printf("<p>%s</p>\n", $e->getMessage()); 

} 

Я не знаю ли вы японский или нет, заметьте резюме на японском языке Для присоединения к MySQL с PHP.
http://qiita.com/mpyw/items/b00b72c5c95aac573b71

Смежные вопросы