2015-01-17 2 views
-1

다음은 현재 가지고있는 PHP 코드 예제입니다. 테이블에서 한 행을 가져오고 싶지만이 오류를 반환합니다.PHP를 사용하여 mySQL 테이블에서 한 행의 데이터를 얻으려면 어떻게해야합니까?

Call to a member function fetch_assoc() on a non-object 

아무런 통찰력을 얻을 수 있습니다.

$pathname = "C:\Users\BL\Documents\GitHub\Moozik\music"; 
$files = scandir($pathname); 
$server = "localhost"; 
$user = "root"; 
$pass = ""; 

while ($files[0] == "." || $files[0] == "..") { 
    array_shift($files); 
} 

print_r($files); 
$song = $pathname . '\\' . $files[0]; 

$conn = new mysqli($server, $user, $pass); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT song_path FROM song_data"; 
$result = mysqli_query($conn, $sql); 

while($row = $result->fetch_assoc()) { 
    $its = $row["song_path"]; 
    printf($its); 
} 

mysqli_close($conn); 
+0

당신은 나는 이것이 시작이다 가정 –

+0

물론 @IndraKumarS 시도 할 수있다! mysqli_fetch_row()가 mysqli_result' 매개 변수 1을 기대하고 있습니다. @vignesh – MontyTheMack

답변

2

포인트 1 :

You have mixed mysqli Object-oriented and Procedural methods...Use any one 

포인트 2 :

$conn = new mysqli($server, $user, $pass); 
// Here You missed database to be selected 

포인트 3 : 여기

$result = mysqli_query($conn, $sql); // Used procedural method But Connection is by Object Oriented method 

는 전체 개체입니다 지향 방법

$conn = new mysqli($server, $user, $pass, $database); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT song_path FROM song_data"; 
$result = $conn->query($sql); 

while($row = $result->fetch_assoc()) { 
      $its = $row["song_path"]; 
      echo $its; 
    } 


$conn->close(); 
+0

감사합니다 !! @ 안드라 – MontyTheMack

1

당신은 심지어 당신이 하나의 행을 가져 싶어하기 때문에 동시에 사용할 필요가 없습니다

$row=mysqli_fetch_array($result) 

사용할 수 있습니다. 둘 이상의 행을 가져 오려면 while을 사용할 수 있습니다.

1

이것을 사용할 수 있습니다.

$row=mysqli_fetch_row($result) 

그것은이

희망 도움이 될 것입니다 .. 결과 세트에서 하나 개의 행을 가져 오는 것입니다.!

+0

내 대답 – MontyTheMack

+0

글쎄, 이제는 쿼리가 실패합니다 ... – bayblade567

+0

열과 테이블의 이름이 맞습니까? – bayblade567

관련 문제