求高手帮我看下这个PHP读取mysql的接口怎么读取不出数据来???
这是创建数据库的
CREATE TABLE IF NOT EXISTS `tm_comment` (
`playerID` text NOT NULL,
`message` text NOT NULL,
`color` text NOT NULL,
`fontsize` varchar(3) NOT NULL,
`mode` varchar(2) NOT NULL,
`playTime` varchar(4) NOT NULL,
`date` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这是写入接口的
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$vid = $_POST['playerID'];
$message =$_POST['message'];
$color =$_POST['color'];
$fontsize =$_POST['fontsize'];
$mode =$_POST['mode'];
$playtime =$_POST['playTime'];
$date =$_POST['date'];
$conn=mysql_connect("localhost", "root", "root");
mysql_query("set names 'utf8'",$conn);
mysql_select_db("ultrax",$conn);
$exec="INSERT INTO `tm_comment` (`playerID`, `message`, `color`, `fontsize`, `mode`, `playTime`, `date`) VALUES ('$vid','$message','$color','$fontsize','$mode','$playtime','$date')";
$result=mysql_query($exec,$conn);
mysql_close($conn);
?>
这时读取接口的
<?php
header('Content-Type: text/xml;');
$id=$_GET['id'];
$link=mysql_connect("localhost","root","root");
mysql_select_db("ultrax", $link);
$q="SELECT * FROM `tm_comment` WHERE playerID =$id";
mysql_query("SET NAMES utf8");
$rs = mysql_query($q, $link);
if(!$rs){die("Valid result!");}
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<information>\n";
while($row = mysql_fetch_row($rs))
echo "<data><playTime>$row[5]</playTime><message fontsize='$row[3]' color='$row[2]' mode='$row[4]'>$row[1]</message><times>$row[6]</times></data>\n";
echo "</information>";
mysql_free_result($rs);
?>
现在有个问题,我的接口
能写进数据
但是就是读取不了(数据库IP,用户名,密码,数据库的库名我都没写错)
------解决方案-------------------- $id=$_GET['id'];
这里不可能获取id的 因为你的数据库根本就不存在id这个列
------解决方案-------------------- $q="SELECT * FROM `tm_comment` WHERE playerID ='$id'";
因为 `playerID` text NOT NULL,
------解决方案-------------------- 正解。。。 id怎么设成text? 用INT吧。。
探讨 $q="SELECT * FROM `tm_comment` WHERE playerID ='$id'"; 因为 `playerID` text NOT NULL,
------解决方案-------------------- 晕倒!才发现数据类型出错了!~~~