通过wpdb显示来自用户输入的SQL查询结果

时间:2019-08-01 作者:Vicky

我的任务之一是要求用户输入一个“ID号”,它将遍历WP中的一个表,并在同一页上显示结果(点击提交后)。

我目前正在使用代码片段插件将此PHP代码插入到我的一个WP页面中。然而,到目前为止,当我在输入字段中输入一个有效的IC/ID号时,它似乎没有返回任何内容。

我是不是在表单部分做错了什么?请开导一下。谢谢

<?php

$name=$_POST["ICNo"];

global $wpdb;
$resultsap = $wpdb->get_results(\'SELECT * FROM `wp_apelc_users` WHERE `icno` = .$name.\');
foreach($resultsap as $row) {
    echo \'Name: \'.$row->name.\', Status: \'.$row->status.\'<br/>\';
}

?>

<form method="post">
  <div>
    Your IC No: <input type="text" name="ICNo">
    <input type="submit" name="submit" value="Submit" >
  </div>
</form>

1 个回复
最合适的回答,由SO网友:Oscprofessionals 整理而成

使用此代码段它可以工作

<?php if(isset($_POST["ICNo"])) {
global $wpdb;
$name = $_POST["ICNo"];
 $resultsap = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM wp_apelc_users WHERE icno = %s", $name ) );
foreach ($resultsap as $row) {
echo \'Name: \' . $row->name;
}
}
?>
<form method="post">
<div>
Your IC No: <input type="text" name="ICNo">
<input type="submit" name="submit" value="Submit" >
</div>
</form>