2015-01-27 2 views
0

나는이 한 페이지로 MAMP를 사용하여 영원히 작업 해 왔으며 PHP로 렌더링 할 수 없습니다. 그것은 테이블에서 정보를 얻는 것과 무언가 일 것임에 틀림 없지만 나는 무엇을 알아낼 수 없다. 나는 모든 것이 정확하게 일렬로 배열되어 있다고 확신한다.내 코드가 MySQL 테이블에서 PHP를 렌더링하지 않습니다

잠시 동안 나를 귀찮게하고 그냥 아무것도 보내지 않았다. 그러나 결국 나는 while 루프를 do-while 루프로 전환하여 localhost를 통해 HTML을 렌더링하여 한 번 실행하게했다. 그래서 문제는 MySQL과 연결되어야합니다. 나는 생각하고 있습니다. 그러나 나는 무엇을 모르겠습니다.

<?php 

$product_id = $_GET['id']; 
$link = mysqli_connect('localhost', 'root', 'root', 'legend'); 
$result = mysqli_query($link, "SELECT * FROM test WHERE id=" . $product_id . "'"); 
while($row = mysqli_fetch_array($result)) { 
?> 

<html> 
<head> 
</head> 
<body> 
    <div> 
     <p>Name: <?php echo $row['unitOne']; ?></p> 
     <p>Box Quantity: <?php echo $row['unitTwo']; ?></p> 
    </div> 
</body> 
</html> 

<?php 
} 

mysqli_close($link); 
?> 
+0

이와 연결 확인 :'$ 링크 = mysqli_connect ('localhost를', '루트', '루트', '전설') 또는 죽을 (. "오류"mysqli_error ($ 링크)) ; ' –

+4

누락 된'''은 : mysqli_query ($ link, "SELECT * FROM test WHERE id = '". $ product_id. "'"))'이어야합니다. 또한 [prepared statement] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)를 사용해야합니다. – prodigitalson

+4

html, head 및 body 선언을 while 루프에 넣지 마십시오. 그렇게하면 매우 잘못된 HTML이 생성됩니다. 코드에 따라 생성하려는 콘텐츠는 BODY 태그 내에 있어야합니다. – entiendoNull

답변

0

이 방법으로 코드를 구조화하고 첫 번째 게시물 아래의 모든 의견을 고려하십시오. 또한 준비된 문과 바운드 매개 변수가 무엇인지 명확히하는이 기사를 읽는 것이 좋습니다. http://www.w3schools.com/php/php_mysql_prepared_statements.asp

항상 HTML 태그를 올바르게 구성해야합니다. html, 머리본문에 대해 하나 이상의 열기 및 닫기 태그가 없어야합니다. 그리고 만약 당신이 더 많은 것을 가지고 있다면 당신을 위해 물건을 엉망으로 만들 수 있습니다. 우선

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Cart</title> 
</head> 
<body> 
<?php 
$query = "SELECT * FROM products WHERE product_id = ?"; //for security we will be using prepared statements 
$stmt = $link -> mysqli -> prepare($query); //$link contains your database connection 
$stmt -> bind_param('i', $id); //$id contains a product id the "i" will define it as an integer 
$stmt -> execute(); 

$result = $stmt -> fetch_result(); 
while($row = $result -> fetch_assoc()){ //loop out the results 
    echo '<div>'; 
     echo '<p>Name: '.$row['unitOne'].'</p>'; 
     echo '<p>Box Quantity: '.$row['unitTwo'].'</p>'; 
    echo '</div>'; 
    } 
?> 
</body> 
</html> 
관련 문제