如何解决我的 php 代码循环并且不探索我的数据库
您好,我目前正在尝试基于 MysqL 下的数据库创建一个页面,该页面将为客户端更新自身。但是,当我希望它转到数据库中的另一个对象时,我每次尝试循环并不确定地返回数据库的第一个值。这是代码,我是初学者,所以错误可能是公然的,感谢您的帮助。 谢谢大家,解决了。
<?PHP
try
{
$db = new PDO('MysqL:host=localhost;dbname=labase','root','');
$db->exec(" SET CHaraCTER SET utf8 ");
$db->setAttribute(PDO::ATTR_CASE,PDO::CASE_LOWER);
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e){
echo'une erreur est survenue';
die();
}
for ($i = 1; $i < 10; $i++) {
if ($i=1){
$select = $db->prepare("Select profession from contact where affiliation='nord' group by profession"); // je récupère les professions de la bdd
$select->execute();
}
$data = $select->fetch(PDO::FETCH_OBJ);
$profess=$data->profession; // je prends la prochaine profession
$selectionner = $db->prepare("Select nomcontact,count(*) as nbrcontact from contact where affiliation='nord' and profession='$profess'"); // je prends les contacts qui ont cette profession ainsi que leur nombre
$selectionner->execute();
$prendre = $selectionner->fetch(PDO::FETCH_OBJ);
$nbrcontact=$prendre->nbrcontact;// je récupère leur nombre
echo $profess;
echo $nbrcontact;
}
?>
解决方法
我不是 PHP 专家并且从不使用 PDO,但是在 Msqli 中,有一个 fetch_array() 来获取多个结果(而不是获取单个结果),也许在 PDO 中您也有一个 fetch_array。然后,您可以在结果数组上循环
类似的东西(使用 msqli)
$sql = "SELECT... FROM ..";
$result = $link->query($sql);
while($row =mysqli_fetch_array($result))
{ }
,if ($i=1) { // 这里应该是 ==
或 ===
您通过声明 $i=1 导致无限循环
<?php
try
{
$db = new PDO('mysql:host=localhost;dbname=labase','root','');
$db->exec(" SET CHARACTER SET utf8 ");
$db->setAttribute(PDO::ATTR_CASE,PDO::CASE_LOWER);
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e){
echo'une erreur est survenue';
die();
}
for ($i = 1; $i < 10; $i++) {
if ($i == 1){ // added code
$select = $db->prepare("Select profession from contact where affiliation='nord' group by profession"); // je récupère les professions de la bdd
$select->execute();
}
$data = $select->fetch(PDO::FETCH_OBJ);
$profess=$data->profession; // je prends la prochaine profession
$selectionner = $db->prepare("Select nomcontact,count(*) as nbrcontact from contact where affiliation='nord' and profession='$profess'"); // je prends les contacts qui ont cette profession ainsi que leur nombre
$selectionner->execute();
$prendre = $selectionner->fetch(PDO::FETCH_OBJ);
$nbrcontact=$prendre->nbrcontact;// je récupère leur nombre
echo $profess;
echo $nbrcontact;
}
?>
使用 == 进行比较
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。