从 MySQL 动态获取特定内容
Posted
技术标签:
【中文标题】从 MySQL 动态获取特定内容【英文标题】:Get particular content from MySQL dynamically 【发布时间】:2012-07-04 15:21:43 【问题描述】:有人可以告诉我如何为不同的请求获取不同的条目吗?目前无论请求是什么,代码都只显示第一个条目。
$dbh = new PDO("mysql:dbname=$db_name;host=$host", $username, $password);
$sth = $dbh->prepare("SELECT * FROM data");
try
$sth->execute( array($_GET['page']) );
catch(PDOException $e)
die( $e->getMessage() );
list($page) = $sth->fetch(PDO::FETCH_NUM);
$sth->closeCursor();
echo $page;
javascript + jQuery
function getPage()
var data = 'page=' + encodeURIComponent(document.location.hash);
$.ajax(
url: "loader2.php",
type: "GET",
data: data,
cache: false,
success: function (html)
$('#content').html(html);
);
代码应该工作的方式是,一旦单击指向#home
或#otherpage
的a href
,代码会通过其“呼号”从我的数据库中加载匹配的内容,该呼号与链接匹配href(例如,#home
的呼号是 home)。有人可以帮我吗?
【问题讨论】:
【参考方案1】:我没有看到任何绑定到表的任何部分列。请参考以下示例:
<?php
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>
下面的链接有详细信息:
http://php.net/manual/en/pdostatement.execute.php
【讨论】:
【参考方案2】:以下行似乎正在将返回数组的一个值加载到变量 $page 中:
list($page) = $sth->fetch(PDO::FETCH_NUM);
也许可以在 PHP 脚本的最后 3 行尝试这样的操作:
$resultsArray = $sth->fetch(PDO::FETCH_NUM);
$sth->closeCursor();
foreach ($resultsArray as $value)
echo $value."\n";
这将打印 PDO fetch() 方法返回的所有结果。
【讨论】:
【参考方案3】:会不会是你的 select 语句中缺少 where 子句?
$sth = $dbh->prepare("SELECT * FROM data WHERE callsign=:page");
try
$sth->execute( array(':page' =>$_GET['page']) );
【讨论】:
我忘了说我不擅长 php 编程......干杯!以上是关于从 MySQL 动态获取特定内容的主要内容,如果未能解决你的问题,请参考以下文章