我搜索了谷歌和这里,一些信息有用,但大多没有那么有用,仍然无法管理使用PHP查询我的数据库。 我对编码很新,所以最好根据我的代码找到答案,而不是其他人稍微不同的问题。 我有一个小型数据库,人们填写一份希望雇用公共汽车的表格。我已经创建了一个日历,并希望根据人们输入的已经发送到我的数据库的数据,每天打印出什么时间以及有多长时间的租用(如果有的话)。 整个页面显示但日历在其表中包含错误:
“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在第1行”2013-03-01“附近使用正确的语法”
即使我删除查询中的“where date = ..”部分,它仍会显示此信息。 香港专业教育学院尝试了几种不同的编写代码的方法,包括一个循环而不包括一个,但我不确定我的意思是什么。
编辑:我的代码现在:
<?php
$con = mysql_connect("localhost","user","password");
$result = mysql_query("SELECT time, length FROM hire WHERE date='01-03-13'");
$row = mysql_fetch_assoc($result);
$Time = $row['TIME'];
$Length = $row['LENGTH'];
echo "Time: " . $TIME . "<br/>";
echo "Length: " . $LENGTH . "<br/>";
?>
我现在收到错误“警告:mysql_fetch_assoc():提供的参数不是第123行的C:\ Users \ Laura \ Documents \ COMPY \ server \ www \ calendar.php中的有效MySQL结果资源” 它显示页面,日历和“时间”和“长度”,但有错误,没有数据
修改
<?php
$con = mysql_connect("localhost","user","password");
mysql_select_db("busassociation", $con);
$result = mysql_query("SELECT time, length FROM hire WHERE date='01-03-13'");
while ($row = mysql_fetch_assoc($result)){
$time = $row['time'];
$length = $row['length'];
echo "time: " . $time . "<br/>";
echo "length: " . $length;
}
?>
答案 0 :(得分:0)
使用反引号
$result = mysql_query("SELECT `time`, `length` FROM `hire` WHERE `date`= '2013-03-01' ");
修改强>
你要两次提取你的查询。
$row = mysql_fetch_row($result); <------- delete this line
while( $row = mysql_fetch_row($result) ){
<强> EDIT.2 强>
我认为你不会重新解决
之间的差异 mysql_fetch_assoc()
和mysql_fetch_row()
如果您使用mysql_fetch_assoc()
,则代码中的内容正确无误。
但是如果你在代码中使用mysql_fetch_row()
,你必须回复像这样的值
$Time = $row['1']; // suppose that `TIME` is the second column
$Length = $row['2']; // suppose that `LENGTH` is the third column
<强> EDIT.3 强>
<?php
$con = mysql_connect("localhost","user","password");
mysql_select_db("your_db", $con); <---------replace by your database
$result = mysql_query("SELECT time, length FROM hire WHERE date='01-03-13'");
while ($row = mysql_fetch_assoc($result)){
$Time = $row['time'];
$Length = $row['length'];
echo "Time: " . $Time . "<br/>";
echo "Length: " . $Length . "<br/>";
}
?>