【发布时间】:2017-04-02 13:08:58
【问题描述】:
我正在尝试从数据库中获取结果并显示“您的设备仍在保修期内”。或“此设备的保修期已过。”取决于保修到期日期是否早于今天的日期。
我正在使用自定义 Wordpress 页面模板连接到远程数据库。这是我到目前为止所拥有的。我已连接到数据库并可以返回结果。我只是在努力创建一个以有用的方式回显结果的搜索表单。
<?php $con = mysqli_connect("localhost","my_user","my_password","my_db");
// check connection
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
echo "Connected successfully";
?>
<form action="" method="post">
Search: <input type="text" name="term" /><br />
<input type="submit" value="Submit" />
</form>
<?php
if (!empty($_REQUEST['term'])) {
$term = mysql_real_escape_string($_REQUEST['term']);
$sql = "SELECT * FROM warranty WHERE serial LIKE '%".$term."%'";
$r_query = mysql_query($sql);
我在这里要做的是说如果输入的序列号“warexp”的日期值早于今天回显“此产品的保修期已过”。如果它返回一个尚未通过的日期,则作为我的 ELSE 声明“您的设备仍在保修期内”。我真的很困惑这部分以及如何让它在 Wordpress 中的自定义页面模板上工作,或者这甚至很重要。
while ($row = mysql_fetch_array($r_query)){
?????????????????????????
?>
提前感谢您提供任何见解。我希望我对问题的描述很清楚。
【问题讨论】:
-
请停止使用
mysql_*函数。它们在 PHP 5.5 中被弃用,它太旧了,甚至不再接收安全更新,并在 PHP 7 中完全删除。相反,使用 PDO 或mysqli_*。详情请见stackoverflow.com/q/12859942/354577。 -
mysql_*功能的保修期也已过期...而且不能与 mysqli 混合使用。 -
我会调查一下,但这对我正在寻找解决方案的问题并没有真正的帮助。但是,让我重新键入连接,以便符合标准。
-
@cjvalotta,jeroen 的部分评论确实对你有帮助。你不能使用
mysqli_connect()和mysql_query()/_fetch_array()/_real_escape_string()等。 -
@cjvalotta,具体是哪一部分给您带来了麻烦?与今天的日期比较?
标签: php mysql wordpress search