PHP在两个字符串之间进行选择
我有以下mysql表: 表名:PHP在两个字符串之间进行选择,php,mysql,database,select,between,Php,Mysql,Database,Select,Between,我有以下mysql表: 表名:项目 item_no qty 1l1000bk 1 1l1020be 2 1l900bk 12 1l820be 19 创建提交到包含以下PHP代码的其他页面的表单后: $from = $_POST['from']; $to = $_POST['to']; $length = max(strlen($from), strlen($to)); $query6 = "SELECT * FROM items WHERE SUBSTRING(item_no, 1, "
项目
item_no qty
1l1000bk 1
1l1020be 2
1l900bk 12
1l820be 19
创建提交到包含以下PHP代码的其他页面的表单后:
$from = $_POST['from'];
$to = $_POST['to'];
$length = max(strlen($from), strlen($to));
$query6 = "SELECT * FROM items WHERE SUBSTRING(item_no, 1, ".$length.") BETWEEN '".$from."' AND '".$to."' ORDER BY item_no Desc";
$result6 = mysql_query($query6);
if(!$result6){
mysqli_error();
exit();
}
if(mysql_num_rows($result6)>0){
$num6 = mysql_num_rows($result6);
for($i=0;$i<$num6;$i++){
$row6 = mysql_fetch_assoc($result6);
echo $row6['item_no']."</br>";
}
}
为什么1l1000比1l900小?它似乎只比较第三个字符?。如何确保它比较完整的字符串
请帮忙 这是因为它被排序为字符串,而不是整数。
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
如果要对is进行排序,应使舒尔的所有数字都相同:因此,如果有1000和900,则使用0900。然后它将排序为ok。它将比较整个字符串。要比较所需的值,请参阅本主题:
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;