نوشته شده توسط
PHPOnline
سلام دوستان گلم
فایل Connect.php
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'college';
try {
$conn = new PDO("mysql:host = $host;dbname = $dbname",$username,$password);
return $conn;
}
catch(PDOExceptaion $e) {
echo "Can not Connet to Database";
exit();
}
?>
فایل Index.php
<?php
require_once("connect.php");
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Connect to MYSQL With PDO</title>
</head>
<body>
<table border = 1>
<tr>
<th>Name</th>
<th>Family</th>
<th>Avreage</th>
</tr>
<?php
$sql = 'Select * from students';
foreach ($conn -> query($sql) as $row) {
?>
<tr>
<td><?php echo $row['fname']; ?> </td>
<td><?php echo $row['lname']; ?> </td>
<td><?php echo $row['avrage']; ?> </td>
</tr>
<?php } ?>
</table>
</body>
</html>
بعد از اجرا این خطا رو می ده :
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\pdo\index.php on line 19
خط 19 هم Foreach هست
خوب باید هم error میگرفتید , نحوه کار کردن با PDO رو اگر کمی جستجو می کردید حتما به نتیجه میرسیدید .یه تکه کد از یه کلاسم رو برات میزارم
private function connection() {
try {
$pdoCfg = array(PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'");
$pdo = new PDO("mysql:host=localhost;dbname=weblog;charset=UT F-8", "root", "", $pdoCfg);
return $pdo;
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e -> getMessage() . "\n";
exit ;
}
}
private function Get_statistic() {
try {
$flag = $this -> connection();
$select = $flag -> prepare("SELECT sid,date,count FROM weblog.static");
$select -> execute();
return $select;
} catch (PDOException $e) {
echo "Fail to catch visit from Dataase";
}
}
و
private function make_date_visit() {
$pd = new bn_parsidate;
$now = $this -> ChengeNumToEng(bndate('ymd'));
$getStatistic = $this -> Get_statistic();
for ($i = 0; $row = $getStatistic -> fetch(PDO::FETCH_ASSOC); $i++) {
if ($now == $row['date']) {
$this -> statistic['todaye'] = $row['count'];
$this -> Ustatistic['todaye'] = $this -> Get_unique_statistic($row['sid']);
}