私はオブジェクト指向の(またはしようとしている)Mysqliに変換しています。私はさまざまなカテゴリーのページを持っています。私はインクルードにパラメータプレースホルダ'?'
を使用して、カテゴリページで正しいカテゴリを呼び出したいと思います。 これは私が得た限りです。ページのカテゴリをどのように指定しますか? WHERE category = apples
を指定すると、すべて正常に動作します。PHP MySQLIオブジェクト指向のワイルドカード
私は、これは以下の通りですカテゴリページ
<?php require_once 'maincats_mysqli.php' ?>
の上部に含まれてい:
以下<?php
$db = new mysqli('host', 'userName', '', 'dbName');
if ($db->connect_error) {
$error = $db->connect_error;
} else {
$sql = "SELECT pageName, gImage, prodName, prodPrice
FROM tableName
WHERE category = '?'
ORDER BY dtList DESC";
$stmt->bind_param('s', ['$category']);
$result = $db->query($sql);
if ($db->error) {
$error = $db->error;
}
}
function getItem($result) {
return $result->fetch_assoc();
}
?>
は、1つのカテゴリページの一部です。どのカテゴリを指定すればいいですか?どんな助けもありがとう。
<?php
if (isset($error)) {
echo "<p>$error</p>";
}
?>
<?php
while ($item = getItem($result)) {
?>
<a href="http://www.example.com/<?php echo $item['pageName']; ?>">
<img src="http://www.example.com/<?php echo $item['gImage']; ?>"</a>
<a href="http://www.example.com/<?php echo $item['pageName']; ?>">
<?php echo $item['prodName']; ?></a>
<?php echo $item['prodPrice']; ?>
<?php
}
?>
1) '... category = '?'から一重引用符を削除します。 ... '。 2) '$ stmt-> bind_param( 's'、['$ category']);'というステートメントを参照してください。 '$ stmt-> bind_param( 's'、$ category);'。 3)準備した声明を**実行しなかった。 4)RTM、[http://php.net/manual/en/mysqli.quickstart.prepared-statements。php](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) –
変数に一重引用符を使用しないでください。上記の注^も見てください。また、ワイルドカードではなく、 'プレースホルダー'と呼ばれます。 – chris85
ああ、私はほとんど逃した、あなたも** **あなたのクエリを準備していませんでした。 –