重複の可能性:
MySQL の挿入ステートメント内に PHP 変数を含める方法
Wordpress カテゴリのカテゴリ ID をその名前で選択したいと考えています。奇妙なことに、カテゴリを手動で定義すると、すべてが完全に機能します。
echo コマンドはカテゴリ名を提供し、最後に変数 $catid でカテゴリ ID を取得します。
ただし、フォームを介して送信すると、手動で定義した場合とまったく同じカテゴリ名が echo コマンドによって返されますが、MySQL コマンドは機能せず、$catid 変数が空のままになります。
直接定義すると機能するのに、まったく同じ文字列がフォームから投稿された場合には機能しない理由を理解できないので、ここに誰か考えがありますか。以下のコード例は、$category 変数がフォームを介して渡される私のコードの一部です。manual 変数のコメントを外し、post 変数のコメントを外すと、すべて機能します。
// $category = "Manual"; // manually defined
$category = $_POST['category']; //defined through a form
echo $category;
$connect = mysql_connect(localhost,abc,def);
if (!$connect) {
die('Could not connect: '.mysql_error());
}
mysql_select_db("abc");
$queryresult = mysql_query("SELECT * FROM `wp_terms` WHERE `name`='$category' LIMIT 0,1");
while($row = mysql_fetch_array( $queryresult )) {
$catid = $row[term_id];
}