作者cspy (Perfect Stranger)
看板PHP
标题[请益] mysql_query()..丢进去的指令
时间Tue Oct 12 16:47:29 2010
想请问一下 mysql_query()
透过 POST 丢进server端的指令字串需要另外做什麽处理吗
select * from 123table -> 这样子执行OK
select * from 123table where ac = 'abc' -> 这样子到query那边就停下来了
後来把第二行cmd直接写在server端 sqlcmd变数里就可以顺利执行
然後我的问题可能就是在cmd字串或者是POST後cmd字串
谢谢~~
以下是查询後动态显示table栏位
<?php
$host=$_POST['host'];$db=$_POST['db'];
$user=$_POST['user'];$pwd=$_POST['pwd'];
$sql_cmd=$_POST['sql_cmd']; # 我的 sql cmd丢在这里
echo "host: ".$host."<br>";
echo "user name: ".$user."<br>";
echo "password: ".$pwd."<br>";
#----------------------------------------------------
$statu1 = @mysql_pconnect("$host","$user","$pwd") or exit();
#the return value can be used for other related request
echo "连线 ".$host." 状态:".$statu1."<br>";
if (!$statu2=mysql_select_db("$db")) {
echo "选择DB --> ".$db."发生错误<br>";
exit();
}
echo "选择 ".$db." DB 状态成功: ".$statu2."<br>";
#-----------------------------------------------
mysql_query("set names utf8");
$result=mysql_query("$sql_cmd") or exit();# 这边是执行query
echo "查询指令(".$sql_cmd.")状态:" .$result."<br>";
echo "<br>";
$num1 = mysql_num_fields($result);
$num2 = mysql_num_rows($result);
echo "field-->".$num1." || rows-->".$num2."<br>";
echo "-----------------------<br>";
$_data = array(array());
$irow=0;$iii=0;
while ($fields = mysql_fetch_object($result))
{
foreach ($fields as $name => $value){
echo $name." --> ".$value."<br>";
#-------------------------------------------
if($irow == 0){
$_data[0][$iii]=$name;}
$_data[$irow+1][$iii]=$value;
#-------------------------------------------
$iii++;
if($iii >= $num1){
echo "<br>";$iii=0;$irow++;}
}
}
#------------------------------
cr_tab($num1,$num2,$_data);
#------------------------------
mysql_free_result($result);#release the allocation of mysql_query result
mysql_close ($statu1);
#disconnect from mysql server
?>
<?php
function cr_tab($fs,$rs,&$_data){
$rs++;
printf('
<table border="4" width="271" cellpadding="5" cellspacing="0"
bordercolorlight="#617AAE" bordercolordark="#3B5795" bordercolor="#617AAE">
');
for($a=1; $a <= $rs; $a++){
printf('<tr>');
for($b=1; $b <= $fs; $b++){
# printf ('<td colspan="2"> %d,%d </td>',$a,$b);
printf ('<td colspan="0"> %8s </td>',$_data[$a-1][$b-1]);
}
printf('</tr>');
}
printf ('</table>');
}
?>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.165.252.4
1F:推 savenckugo:有程式码应该会比较容易找到问题.. 10/12 17:13
※ 编辑: cspy 来自: 115.165.252.4 (10/12 17:27)
2F:→ kylekai:你应该有开 auto magic quota ... 不知道是什麽的话去查吧 10/12 17:46