在mysql中,我們知道有mysql_fetch_row(),mysql_fetch_array()和mysql_fetch_assoc()。
對於PDO有很多類型的取
<?php
// configuration
$dbtype= "mysql";
$dbhost= "localhost";
$dbname= "test";
$dbuser= "root";
$dbpass= "admin";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// query
$sql = "SELECT title FROM books ORDER BY title";
$q = $conn->query($sql);
// fetch
while($r = $q->fetch()){
print_r($r);
}
// result
//Array ([title] => book_title [0] => book_title)
?>
這是當你不必準備語句,如果你要做到這一點,你應該遵循這個步驟
<?php
// configuration
$dbtype= "mysql";
$dbhost= "localhost";
$dbname= "test";
$dbuser= "root";
$dbpass= "admin";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
$title = 'PHP AJAX is Awesome';
// query
$sql = "SELECT * FROM books WHERE title = ?";
$q = $conn->prepare($sql);
$q->execute(array($title));
$q->setFetchMode(PDO::FETCH_BOTH);
// fetch
while($r = $q->fetch()){
print_r($r);
}
?>
如果您使用Wild Card 會更好嗎?的屬性(由於其類似的ORM系統)
你的情況,例如,你應該這樣做
$query = "SELECT COUNT(*) FROM table WHERE home_team=? AND home_score > ?";
$stmt = $db->prepare($query);
$stmt->execute(array($team,$HScore));
$stmt->setFetchMode(PDO::FETCH_BOTH);
$numbers = $stmt->fetch();
什麼是你的服務器日誌說? –
使用try catch它會幫助你找到運行時異常。除此之外,你不綁定第二個變量:away_score –
它因爲你丟失':away_score'的佔位符,使用'setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);'http:// stackoverflow。 com/questions/14374497/inserted-data-in-mysql-data-base-in-php/14374814#14374814 –