私はmysqliが初めてで、以下のように関数を書きました。
1 -SELECT *
クエリの方法が見つからず、bind_result
各列の値を同じ名前の変数に割り当てる必要がありました。(例: name
#row の列の値は に格納されます$name
)
クエリbind_result()
には機能がないと思いますか?SELECT *
2 -すべての行をフェッチし、ループを介して手動で適切な変数に割り当てるという別のオプションを試しました。ループには$query->fetch_all()
orを使用する必要があると思いますが、これに遭遇しました:$query->fetch_assoc()
Fatal error: Call to undefined method mysqli_result::fetch_all()
また
Fatal error: Call to undefined method mysqli_result::fetch_assoc()
ただし、phpinfo()
mysqlndが有効になっており、phpバージョンが5.4.7(XAMPP v1.8.1を実行)であることがわかりました
そして3-最終的に私がしたことは、どちらも機能しないアイデアの下にあります。
function the_names($name)
{
global $db;
if($query = $db->prepare("SELECT * FROM users where name=?"))
{
$query->bind_param('s', $name);
if($query->execute())
{
$query->store_result();
if($query->num_rows > 1)
{
while($row = $query->fetch())
{
echo $row['name']; // Here is the problem
}
}
else
echo "not valid";
$query->close();
}
}
}
フェッチされたすべてのデータを保存する方法bind_result()
、または後で使用するためにそれらを配列に格納する方法が必要であり、両方を知っている方がはるかに優れています。tnx