我试图在我的数据库中显示一个字符串,其中第一个字符在0到9之间我尝试了但是仍然无法在下面工作,我的代码帮助我了。谢谢。
if(isset($_REQUEST['num'])){ $num = explode('-',$_REQUEST['num']);
$query1 = "SELECT usercode FROM user WHERE code like '".$num."%'" ORDER BY id DESC ";
$result1 = mysql_query ($query1) or die('query error');
while( $line1 = mysql_fetch_assoc($result1)){
echo $line1[usercode];
}
<a href="home.php?num=<?php echo urlencode('0-9');?>">#</a>
答案 0 :(得分:0)
您的代码目前正在您的数据库中搜索Array
,因为您explode()
正在$_REQUEST['num']
,它会返回一个数组。
您可能希望从$num
创建一系列数字,然后执行多个LIKE
或尝试使用REGEXP
。
答案 1 :(得分:0)
使用MySQL中的REGEXP
函数将code
与^[0-9]
匹配,这意味着:“第一个字母必须介于0到9之间”,而在ASCII中,它们恰好是数字在0到9之间。
这将做你想要的:
<?php
if (isset($_REQUEST['num'])) {
$num = explode('-', $_REQUEST['num']);
$query1 = "SELECT usercode FROM user WHERE code REGEXP '^[" . $num[0] . "-" . $num[1] . "]' ORDER BY id DESC";
$result1 = mysql_query ($query1) or die('query error');
while ($line1 = mysql_fetch_assoc($result1)) {
echo $line1['usercode'];
}
}
?>
<a href="home.php?num=<?php echo urlencode('0-9'); ?>">#</a>
cOle2对于爆炸功能也是正确的。它返回一个数组,其元素是由某个分隔符标记的输入字符串。在您的情况下,$_REQUEST['num']
基于分隔符-
。