我目前正在做一个个人项目,我需要你的帮助。 经过大量研究后,我似乎找不到合适的解决方案来解决我的问题(可能是因为我不是很好的 php 开发人员 - 我仍在学习)。
好的,所以我需要从我的数据库中获取 3 个帖子标题,并将它们中的每一个存储在单独的变量中。我需要它们是独立的,因为我想在我网站的不同部分使用它们。 我设法做到了这一点,但只能通过对数据库进行三个不同的查询来实现,我认为这很糟糕。有没有办法将一个查询发送到数据库并将它们一次存储在不同的变量中? 我尝试用一个数组来做到这一点,虽然我已经足够接近了,但我似乎没有得到这个工作。
这是我的代码:
try {
$stmt = $db->query('SELECT postTitle FROM blog_posts ORDER BY postID DESC limit 0,1');
$sslider_title1='';
while($row = $stmt->fetch()){
$sslider_title1 = $row['postTitle'];
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
try {
$stmt = $db->query('SELECT postTitle FROM blog_posts ORDER BY postID DESC limit 1,2');
$sslider_title2='';
while($row = $stmt->fetch()){
$sslider_title2 = $row['postTitle'];
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
try {
$stmt = $db->query('SELECT postTitle FROM blog_posts ORDER BY postID DESC limit 2,3');
$sslider_title3='';
while($row = $stmt->fetch()){
$sslider_title3 = $row['postTitle'];
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
所以为了通过一个查询来运行它,我必须做
try {
$stmt = $db->query('SELECT postTitle FROM blog_posts ORDER BY postID DESC limit 0,3');
$sslider_title1='';
$sslider_title2='';
$sslider_title3='';
while($row = $stmt->fetch()){
\\ This is the part that I can't seem to solve :P
}
}
最佳答案
请不要使用具有此类名称的变量。
你需要的是数组
:
$titles = array();
try {
$stmt = $db->query('SELECT postTitle FROM blog_posts ORDER BY postID DESC limit 0,3');
while($row = $stmt->fetch()){
$titles[] = $row['postTitle'];
}
}
然后在你的代码中你可以使用
echo $titles[0];
echo $titles[1];
echo $titles[2];
对于你们每个人的标题。
关于php - 如何通过一个数据库连接将 mysql 结果存储在不同的单独变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40443394/