2013-09-06 2 views
0

PHP 프로그래밍에 익숙하지 않고 작성한 데이터베이스에 대한 액세스 권한을 만들려고합니다. 필자는 PHP와 데이터베이스간에 성공적인 연결을 할 수 있었지만 간단한 쿼리를 실행하려고하면 문제가 발생합니다.mysqli_query()는 mysqli 매개 변수 1을 기대합니다

나는 두려워하는 메시지를받습니다. 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


당신은 mysql_로'과'mysqli_의 *를'혼합 *'** 오타? ** 오타가 어디 –

+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()); 

} 

일본인인지 아닌지는 모르겠지만 PHP로 MySQL에 연결하려면 일본어로 요약 해주십시오. http://qiita.com/mpyw/items/b00b72c5c95aac573b71

관련 문제