mysql - SQL能這樣表示嗎?
問題描述
SELECT * FROM shop WHERE id=8;
這條會輸出本表中id=8的結果;請問怎么輸出全部結果?
就是
SELECT * FROM shop
只不過必須有 where id=???
???也就是通配符,任意值..
我問這個的意思是用預處理語句
$sql='SELECT id FROM shop2 WHERE name=? and id = ? and model = ?';$stmt=$pdo->prepare($SQL);$name=某值;$id=某值;$models=某值;$stmt->execute( array($name,$id,$models) );
然后有時候,只需要 name 就能找到,有時候需要 name,model 才能找到,有時候需要 id ,name,model 才行.
我就想,只需要修改 成一個通配符 就可以不動 $sql 語句了’
如果這樣不行,那只能重新編輯 sql 語句,用 字符串連接的方法弄了..弄成 :
$sql='SELECT id FROM shop2 WHERE ';$idstr = $id ? 'id = {$id}' :'';$namestr = $name ? 'name = {$name}' :'';$modelstr= $model ? 'model = {$models}' : '';$arr=Array($idstr,$namestr,$modelstr);$arr = Array_Filter($arr);$sql.=implode(' AND ',$arr);$stmt=$pdo->query($sql);
這樣比較麻煩,我就想有簡單的辦法嗎?
大家告訴我有這個辦法嗎?
問題解答
回答1:不太懂題主意思。一般在代碼里拼sql都會這樣寫SELECT * FROM TABLE WHERE 1 = 1,然后再根據(jù)查詢條件拼接AND id = ?和其他條件,這樣就算id為空也不至于發(fā)生sql語法錯誤。寫完后才覺得題主好像是想做sql注入……- -!
回答2:SELECT * FROM shop WHERE 1;
這樣應該能夠把全部的結果輸出。
回答3:在java中,有mybatis這樣的框架來處理類似參數(shù)個數(shù)不確定的請求,具體用法可以自己百度。如果php中沒有類似的框架,最好的是自己寫一個拼接sql字符串、綁定變量的方法,php不熟悉,寫一個示例js代碼:第一參數(shù)為不帶任何條件的sql語句(如select * from table1),第二個參數(shù)為key-value類型的參數(shù)值
function executeSql(sql, params) { var sql_text = sql; var sql_where = []; var sql_params = []; for (var key in params) { if (params[key] !== null || params[key] !== undefined) { sql_where.push(key + ’=?’); sql_params.push(params[key]); } } if (sql_where.length > 0) { sql_text += ’ WHERE ’ + sql_where.join(’ AND ’); } stmt = $pdo->prepare(sql_text); stmt->execute(sql_params);}回答4:
SELECT * FROM shop;
where子句可選
回答5:SELECT * FROM shop;
回答6:select * from shop where id like ’%’
回答7:SELECT * FROM TABLE_NAME //不加查詢條件也是可以的
相關文章:
1. android - weex 項目createInstanceReferenceError: Vue is not defined2. pdo 寫入到數(shù)據(jù)庫的內容為中文的時候寫入亂碼3. PHPExcel表格導入數(shù)據(jù)庫怎么導入4. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點5. javascript - 如圖,百度首頁,查看源代碼為什么什么都沒有?6. vue2.0+webpack 如何使用bootstrap?7. PHP類封裝的插入數(shù)據(jù),總是插入不成功,返回false;8. mac連接阿里云docker集群,已經卡了2天了,求問?9. javascript - 前端開發(fā)框架express,在他的模板引擎下怎么給按鈕添加綁定事件?10. python - 小白django提交數(shù)據(jù)后,沒有存儲到數(shù)據(jù)庫(查閱資料并沒有發(fā)現(xiàn)問題)
