پاسخ : جستجو یک Id بین 3 جدول در MYSQL
کد:
<?php
if(isset($_GET['id']) && !empty($_GET['id'])){
$id=(int) $_GET['id'];
$result2=$config->connect->prepare("SELECT db_user_user.id,db_user_author.id,db_user_admin.id FROM db_user_user,db_user_author,db_user_admin WHERE db_user_user.id=? OR db_user_author.id=? OR db_user_admin.id=?");
$result2->bindValue(1,$id);
$result2->bindValue(2,$id);
$result2->bindValue(3,$id);
$ss = $result2->execute();
$result = $ss->fetchAll();
print_r($result);
// if($result2->execute()){
// $count=$result2->rowCount();
// echo $count;
// if($count===1){
// $rows=$result2->fetch(PDO::FETCH_ASSOC);
// $user_edit->edit();
// }
// else{
// header('location: user-user.php');
// exit();
// }
// }
// else{
// header('location: user-user.php');
// exit();
// }
// }
// else{
// header('location: user-user.php');
// exit();
// }
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
این اررور رو میده کدتونو که کپی کردم :
Fatal error: Call to a member function fetchAll() on boolean in
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
اشتباه از من بود، امتحان کنید :
کد:
<?php
if(isset($_GET['id']) && !empty($_GET['id'])){
$id=(int) $_GET['id'];
$result2=$config->connect->prepare("SELECT db_user_user.id,db_user_author.id,db_user_admin.id FROM db_user_user,db_user_author,db_user_admin WHERE db_user_user.id=? OR db_user_author.id=? OR db_user_admin.id=?");
$result2->bindValue(1,$id);
$result2->bindValue(2,$id);
$result2->bindValue(3,$id);
$result2->execute();
$result = $result2->fetchAll();
print_r($result);
// if($result2->execute()){
// $count=$result2->rowCount();
// echo $count;
// if($count===1){
// $rows=$result2->fetch(PDO::FETCH_ASSOC);
// $user_edit->edit();
// }
// else{
// header('location: user-user.php');
// exit();
// }
// }
// else{
// header('location: user-user.php');
// exit();
// }
// }
// else{
// header('location: user-user.php');
// exit();
// }
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
اینم خروجیشه :
کد PHP:
Array
(
[0] => Array
(
[id] => 1
[0] => 5
[1] => 2
[2] => 1
)
[1] => Array
(
[id] => 1
[0] => 5
[1] => 3
[2] => 1
)
[2] => Array
(
[id] => 1
[0] => 5
[1] => 4
[2] => 1
)
[3] => Array
(
[id] => 2
[0] => 5
[1] => 2
[2] => 2
)
[4] => Array
(
[id] => 2
[0] => 5
[1] => 3
[2] => 2
)
[5] => Array
(
[id] => 2
[0] => 5
[1] => 4
[2] => 2
)
[6] => Array
(
[id] => 3
[0] => 5
[1] => 2
[2] => 3
)
[7] => Array
(
[id] => 3
[0] => 5
[1] => 3
[2] => 3
)
[8] => Array
(
[id] => 3
[0] => 5
[1] => 4
[2] => 3
)
[9] => Array
(
[id] => 4
[0] => 5
[1] => 2
[2] => 4
)
[10] => Array
(
[id] => 4
[0] => 5
[1] => 3
[2] => 4
)
[11] => Array
(
[id] => 4
[0] => 5
[1] => 4
[2] => 4
)
)
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
به جای
کد:
SELECT db_user_user.id,db_user_author.id,db_user_admin.id FROM db_user_user,db_user_author,db_user_admin WHERE db_user_user.id=? OR db_user_author.id=? OR db_user_admin.id=?
بنویسید
کد:
SELECT db_user_user.id _user_id,db_user_author.id _author_id,db_user_admin.id _admin_id FROM db_user_user,db_user_author,db_user_admin WHERE db_user_user.id=? OR db_user_author.id=? OR db_user_admin.id=?
البته union کردن خیلی راحتتر از اینه
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
نقل قول:
نوشته اصلی توسط
rezaonline.net
به جای
کد:
SELECT db_user_user.id,db_user_author.id,db_user_admin.id FROM db_user_user,db_user_author,db_user_admin WHERE db_user_user.id=? OR db_user_author.id=? OR db_user_admin.id=?
بنویسید
کد:
SELECT db_user_user.id _user_id,db_user_author.id _author_id,db_user_admin.id _admin_id FROM db_user_user,db_user_author,db_user_admin WHERE db_user_user.id=? OR db_user_author.id=? OR db_user_admin.id=?
البته union کردن خیلی راحتتر از اینه
بازم تعداد نادرست میده :
کد PHP:
if(isset($_GET['id']) && !empty($_GET['id'])){
$id=(int) $_GET['id'];
$result2=$config->connect->prepare("SELECT db_user_user.id _user_id,db_user_author.id _author_id,db_user_admin.id _admin_id FROM db_user_user,db_user_author,db_user_admin WHERE db_user_user.id=? OR db_user_author.id=? OR db_user_admin.id=?");
$result2->bindValue(1,$id);
$result2->bindValue(2,$id);
$result2->bindValue(3,$id);
if($result2->execute()){
$count=array();
$count=$result2->rowCount();
echo $count;
if($count===1){
$rows=$result2->fetch(PDO::FETCH_ASSOC);
$user_edit->edit();
}
else{
echo 'ss';
}
}
else{
header('location: user-user.php');
exit();
}
}
else{
header('location: user-user.php');
exit();
}
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
چون or استفاده کردید اگر در این سه تیبیل db_user_user.id,db_user_author.id,db_user_admin.id حداقل آیدی وارد شده وجود داشته باشد یک ردیف برمی گردوند و حساب میکند، پس اگر در سه تیبیل id هر رکوردی با مقدار $_GET برابر باشد یه row داریم، حالا بالا 11 تا row پیدا کرده که حداقل یکی از db_user_user.id,db_user_author.id,db_user_admin.id اینا با مقدار $_GET برابر است، بازم چون من استراکچر دیتابیس شما را ندیدم بیشتر نمیتونم راهنمایی کنم باید ساختار دیتابیس همراه با رکورد ها را ببینیم یا عکس بگیرید قرار دهید اگر فکر میکنید اشتباه است.
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
حالا این روش union که دوستان گفتند چطور باید ازش استفاده کرد ؟
نمونه کدی برای استفاده ازش هست؟
ممنون از دوستان بابت پاسخاتون
پاسخ : جستجو یک Id بین 3 جدول در MYSQL
نقل قول:
نوشته اصلی توسط
<?php?>
حالا این روش union که دوستان گفتند چطور باید ازش استفاده کرد ؟
نمونه کدی برای استفاده ازش هست؟
ممنون از دوستان بابت پاسخاتون
کد:
<?php
if(isset($_GET['id']) && !empty($_GET['id'])){
$id=(int) $_GET['id'];
$result2=$config->connect->prepare("Select id From db_user_user Where id=? Union Select id From db_user_author Where id=? Union Select id From db_user_admin Where id=?");
$result2->bindValue(1,$id);
$result2->bindValue(2,$id);
$result2->bindValue(3,$id);
if($result2->execute()){
$count=array();
$count=$result2->rowCount();
echo $count;
if($count===1){
$rows=$result2->fetch(PDO::FETCH_ASSOC);
$user_edit->edit();
}
else{
echo 'ss';
}
}
else{
header('location: user-user.php');
exit();
}
}
else{
header('location: user-user.php');
exit();
}