我遇到这样的错误
致命错误:在第15行的/Applications/XAMPP/xamppfiles/htdocs/colorlib-search-23/test.php中找不到类'TableRows'
这是我的代码:
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM users");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
检查数据库表的名称以及所有复制粘贴的其他代码,但仍然无法正常工作
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM users");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
不应出现此错误。
答案 0 :(得分:4)
Internet上有一篇非常有害的文章,告诉您需要任何TableRows类来使用PDO。 哪个是垃圾。
实际上,您不需要这样的东西。 只需使用常规的foreach
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->query("SELECT * FROM users");
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
这时,您已经有了一个常规的PHP数组,可以使用foreach
对其进行遍历,或者使用json_encode
进行编码或以其他方式进行编码
// iterate over rows
foreach($data as $row) {
// iterate over values in each row
foreach($row as $v) {
echo $v, " ";
}
echo "<br>"\n;
}