2016-04-29 14 views
-1

このクエリを準備文に変換する方法を知りたいと思います。私は両方を準備されたステートメントに変換する必要がありますか(オブジェクト指向のスタイルを知っていれば最善のケースですが、もう一方は大丈夫です...)?私は、あなたがそれらを閉じることができるように、準備されたステートメントで配列を即座にフェッチするので、それを行う方法についてはまったく手がかりがありませんか?"where(query)"クエリをmysqliの準備文に変換します

そうする方法がない場合は、方法はありますか?

PHP:

$queryinquery = "SELECT `followed` FROM `follows` WHERE `follower` = '$username'"; 
$query1 = mysqli_query($db, " 
SELECT * FROM `whatever` WHERE `id` IN ($queryinquery) ORDER BY `id` DESC LIMIT 10; 
"); 

答えて

1

はこの1つを試してみてください。

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

// prepare and bind 
$stmt = $conn->prepare("SELECT * FROM `whatever` WHERE `id` IN (SELECT `followed` FROM `follows` WHERE `follower` = ?) ORDER BY `id` DESC LIMIT 10"); 
$stmt->bind_param("s", $username); 

// set parameters and execute 
$username= "John"; 
$stmt->execute(); 

// fetch your data code here 

$stmt->close(); 
$conn->close(); 
?> 
+0

さて、あなたは一度だけパラメータをバインドする必要があります...助けてくれてありがとう!! – Moritz

+0

いつも両方のクエリを別々にフェッチしようとしました、非常にばかげた...:Dありがとう! – Moritz

関連する問題