PHP (PDO) 를 사용하여 MySQL db의 한 테이블 열에서 값을 가져 오려고 하는데 같은 줄에 두 개의 오류가 있습니다.이 줄은 다음과 같습니다 (줄 7).
$query = $dbh->prepare("SELECT * FROM table_name");
다음은 오류 메시지입니다.
주의 : 정의되지 않은 변수 : dbh in ... on line 7
치명적 오류 : 7 행의 ...에있는 비 개체에서 멤버 함수 prepare () 호출
내 완전한 코드 :
1) config.php 파일
<?php
$host = "localhost";
$db_user = "user";
$db_psw = "pass";
$db_name = "database";
?>
2) connection.php 파일
<?php
include("config.php");
//collegamento
$col = "mysql:host=$host;dbname=$db_name";
try {
//tentativo di connessione
$db = new PDO($col , "$db_user", "$db_psw");
}
//gestione errori
catch(PDOException $e) {
echo 'Attenzione errore: '.$e->getMessage();
}
?>
3) display-values.php 파일 (7 행 오류)
<?php
// richiamo lo script responsabile della connessione a MySQL
require 'connection.php';
?>
<?php
$query = $dbh->prepare("SELECT * FROM table_name");
$query->execute();
$result = $query->fetchall();
?>
<?php
echo
"<table border='2'>
<tr>
<th>ID</th>
<th>A Number</th>
<th>First Name</th>
<th>Last Name</th>
<th>Why</th>
<th>Comments</th>
<th>Signintime</th>
</tr>"
;
foreach($result as $row)
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td><a href=Student.php?studentA_num=" . $row['anum'] . ">" .$row['anum'] . " </a></td>";
echo "<td>" . $row['first'] . "</td>";
echo "<td>" . $row['last'] . "</td>";
echo "<td>" . $row['why'] . "</td>";
echo "<td>" . $row['comments'] . "</td>";
echo "<td>" . $row['signintime'] . "</td>";
echo "<td> <input type=\"button\" value=\"Start Session\"onClick=\accept.php?id=" . $row['id'] . "&start=true></td>";
}
echo "</tr>";
echo "</table>";
?>
참고 :이 코드에서는 테스트 용으로 만 모든 값을 가져 오려고했지만 한 열 "name_column"에서만 데이터를 가져와야하므로 두 오류를 수정하고 코드를 편집하여 값을 추출하려면 어떻게해야합니까? 특정 열?
미리 감사드립니다!
귀하의 PDO 개체는 db
없습니다dbh
오류는 다음을 나타냅니다.
주의 : 정의되지 않은 변수 : dbh in ... on line 7
PHP는 dbh라는 초기화 된 변수를 찾을 수 없으므로 dbh 는 정의되지 않은 변수이므로 여기에주의해야합니다.
치명적 오류 : 7 행의 ...에있는 비 개체에서 멤버 함수 prepare () 호출
코드가 존재하지 않는 변수에 대한 메서드를 호출 할 때 PHP는이 두 번째 오류를 외칩니다.
요약하자면, 당신은 변화가 필요합니다
$query = $dbh->prepare("SELECT * FROM table_name");
...에 대한
$query = $db->prepare("SELECT * FROM table_name");
2 개 열에서 값을 가져 오기위한 쿼리 수정 :
2 열의 값만 가져 오려면 SQL 쿼리를 변경하면됩니다.
$query = $db->prepare("SELECT column_name_1, column_name_2 FROM table_name");
이 쿼리를 사용하면 column_name_1 및 column_name_2 에서 값을 선택합니다.
기본적인 SQL 튜토리얼 을 수강하는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다