你定義的dbopen沒看見你調(diào)用?其實(shí)你可以在dbopen里面返回$conn,例如:
成都創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元海南州做網(wǎng)站,已為上家服務(wù),為海南州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
function dbopen(){
.....
return $Conn;
}
$cid=dbopen();
以后就可以使用$cid變量操作數(shù)據(jù)庫
你說的只是php代碼中可能會(huì)允許你使用注入語句,但是一般來說,網(wǎng)站防注入都是在鏈接數(shù)據(jù)庫的類中加入了轉(zhuǎn)換,也就是說把注入語句的關(guān)鍵字都加上了轉(zhuǎn)義字符。比如你遇到的這種情況,就是被防注入了。
關(guān)于你這個(gè)問題:
問:輸入框中的SQL語句應(yīng)該如何寫?
條件:數(shù)據(jù)庫表、字段全已知,輸入框長度不限。
我只能跟你說,你可以在輸入框中加入;,/這種符號(hào),讓語句解析的時(shí)候出現(xiàn)問題,讓php把sql語句拼合成兩個(gè)或兩個(gè)以上。這樣你就可以在第二條語句之后加入你想要執(zhí)行的命令了。
如果這種方法沒有效果,你只能使用溢出的方式來注入!
下面是一段完整的連接,查詢過程,希望對(duì)你有幫助:
?php
$con = mysql_connect("localhost","root",""); //連接mysql
mysql_select_db("test");
mysql_query("set names utf8"); //設(shè)置連接編碼為UTF8
$sql = "select * from temp where age 100"; //定義SQL語句查修年齡大于100的內(nèi)容
$result = mysql_query($sql);
$num = mysql_num_rows($result); //獲取結(jié)果數(shù)
echo "表中年齡大于100的共有".$num."條記錄"; //輸出結(jié)果數(shù)
echo "
table border=\"1\"";
echo "
tbody
tr
td序號(hào)/td
td名字/td
td性別/td
td年齡/td
td職業(yè)/td
td地址/td
td備注/td
/tr";
while($row = mysql_fetch_array($result))
{
echo"
tr
td".$row[id]."/td
td".$row[name]."/td
td".$row[sex]."/td
td".$row[age]."/td
td".$row[work]."/td
td".$row[city]."/td
td".$row[other]."/td
/tr
";
}
echo "
/tbody
/table
";
?
?php
$mysql_server_name='localhost';
$mysql_username='root';
$mysql_password='12345678';
$mysql_database='mycounter';
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
$sql='CREATE DATABASE mycounter DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
';
mysql_query($sql);
$sql='CREATE TABLE `counter` (`id` INT(255) UNSIGNED NOT NULL AUTO_INCREMENT ,`count` INT(255) UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY ( `id` ) ) TYPE = innodb;';
mysql_select_db($mysql_database,$conn);
$result=mysql_query($sql);
//echo $sql;
mysql_close($conn);
echo "Hello!數(shù)據(jù)庫mycounter已經(jīng)成功建立!";
//數(shù)據(jù)庫鏈接文件
$Link=mysql_connect('localhost','root','');//連接數(shù)據(jù)庫
//返回TRUE/FALSE
if($Link){
$db=mysql_select_db('oa',$Link);
//設(shè)置中文編碼格式
mysql_query('set names gbk');
if($db){
echo "數(shù)據(jù)庫選擇成功!";
}else{
echo "數(shù)據(jù)庫選擇失??!錯(cuò)誤號(hào):".mysql_error();
}
}else{
echo "連接數(shù)據(jù)庫失??!";
}
直接寫代碼啊。
我寫了一遍截圖看。第一行參數(shù)主機(jī)、用戶名、密碼;第二行選擇數(shù)據(jù)庫‘第三行選擇字符集’
你自己試下