2011-01-23 12 views
-2
<?php 
$host = 'localhost'; 
$dbusername ='root'; 
$dbpassword =''; 
$database ='mp19'; 

$link =mysql_connect('localhost', 'root','12345678'); 
$db_selected = mysql_select_db('mp19', $link); 

if (!$link) 
    {exit("Connection Failed: " . $link);} 

$sql="(SELECT * FROM 3-33)"; 
$result=mysql_query($sql, $link); 


if (!$result) 
    {exit("Error in SQL");} 

echo "<table><tr>"; 
echo "<th>Date</th>"; 
while ($row=mysql_fetch_assoc($result)) 
    { 
    var_dump($row); 
    echo "<td>$row['date']</td></tr>"; 
    } 
mysql_close($link); 
?> 

연결은 성공적이지만 데이터가 phpmysql에서 가져 오지 않으며 테이블에 인쇄되지 않습니다. 이게 왜 그렇게?자바 스크립트와 PHPMySQL

+0

다음에 코드를 포맷하십시오. – GolezTrol

+1

'while (mysql_fetch_row (mysql_query))'---이게 뭐지?!?! – zerkms

+0

그녀는 이미 이전에 질문을했으며 오류를 지적했지만 그녀는 PHP를 통해 데이터베이스에서 데이터를 가져 오는 방법을 완전히 모릅니다. 그래서 나는 그녀의 질문을 수정하여 오류를 최소화했습니다. –

답변

0

쿼리가 잘못되었습니다 - 명령 줄에서 MySQL의 클라이언트를로드하고 실행 해보십시오 :

mysql -uroot mp19 -p 
(SELECT * FROM 3-33) 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '3-33' at line 1 
+1

그 쿼리가 유효하지 않은 이유를 설명하고 'SELECT * FROM'3-33'과 같은 실제 해결책을 제공 할 수 있습니다. – nico

+0

불행히도 원래 게시물에서 그가 성취하고자하는 것을 파악하는 것은 어렵습니다. 처음에는 항상 뭔가를 돌려주는 쿼리를 원했고 SELECT * FROM 3-33이 SELECT 3-33과 같다고 생각했습니다. 이제 당신이 말했을 때, 나는 그가'3-33'이라는 테이블을 가질 수 있다고 생각합니다.하지만, 왜 그렇게 될지 모르겠습니다. 질문에 대해 그가 무엇을하려하는지 명확히 해 줄 것을 제안하는 질문에 대한 의견을 남겨 둘 것입니다. – Arkaaito

1

을 난 당신이 몇 가지 오류를 만든 것 같아요. 이 기능이 어떻게 작동하는지에 대한 기본적인 이해가 부족한 것 같습니다. 거의 모든 변수는 나머지 코드에서 사용할 수있는 변수 (예 : 링크 자원 또는 행 배열)를 반환합니다. 호출이 실패하면이 함수는 false을 반환합니다. 따라서 명시 적으로 값이 false (=== 연산자를 사용하여)인지 확인하고 모든 것이 정상이면 계속 진행해야합니다. 그런 다음 함수 자체가 아닌 함수의 결과 값을 사용해야합니다. mysql_query는 호출이 아니라 결과이다.

<?php 
$host = 'localhost'; 
$dbusername ='root'; 
$dbpassword =''; 
$database ='mp19'; 

$link = mysql_connect('localhost', 'root','12345678'); 

if ($link === false) 
{ 
    exit("Connection Failed: " . mysql_error()); 
} 

if (mysql_select_db('mp19', $link) === false) 
{ 
    exit("Could not select database mp19: " . mysql_error()); 
} 

// Is '3-33' really your table name?! You should pick another name. 
$sql = "(SELECT * FROM 3-33)"; 

$resultset = mysql_query($sql, $link); 

// (!$sql)? $sql SQL is always set here. It is just the string 
if ($resultset === false) 
{ 
    exit("Error in SQL: " . mysql_error()); 
} 

echo "<table><tr>"; 
echo "<th>Date</th>"; 

while ($row = mysql_fetch_assoc($resultset)) 
{ 
    $date = $row['fieldname']; 
    echo "<td>$date</td></tr>"; 
} 

mysql_close($link); 

?> 
+0

"거의 모든 개체가 반환됩니다."---이 코드에는 개체가 전혀 없습니다. – zerkms

+0

그래, 네 말이 맞아. 거기에 잘못된 단어를 골랐어 요. 텍스트를 수정했지만 요점은 여전히 ​​동일합니다. – GolezTrol

관련 문제