0

这是 HTML/JS 代码:

<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()             {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("dd123").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","externalphpcode.php?t=" + Math.random(),true);
xmlhttp.send();
}
window.onload=loadXMLDoc();
</script>

以及外部 PHP 代码:

<?php
header ('Location: urlofHTMLcode');

$con = mysql_connect("hostname","databasename","password");

if (!$con)
{
die('Test Error'.mysql_error());
}

$db_selected = mysql_select_db("databasename", $con);
if (!db_selected)
{
die("Error 3 : ".mysql_error());
}
$result= "SELECT COLUMN_1 FROM T_DEALS WHERE COLUMN_2 = '2011-01-03'
 and COLUMN_3 = 'VALUE_1'" or die ("Error 4 :".mysql_error());

$row = mysql_fetch_array($result);

echo $row;

mysql_close($con);
exit ();

这是我一直遇到的问题,为简洁起见,对大部分 HTML/JS 进行了编辑。我已经验证了 HTML/JS 文件通过更改 PHP 以插入到 mySQL 中准确地调用了外部 PHP 文件。我一直在尝试通过 PHP echo 命令与通过 AJAX 的“.responseText”命令配对,让 SQL 查询结果显示在指定的 DIV 容器中。我究竟做错了什么?在 HTML 中引用对象似乎没有问题,并且在调试 PHP/mySQL 连接时,错误消息将用适当的错误消息替换 DIV,一旦更改代码以调用 mySQL 数据,该错误消息就不会发生价值观。

先感谢您。

4

2 回答 2

2

您没有在查询中调用 mysql_query ,因此您的 $result 可能已经阅读

 $result="String" Usless statement "String";

通常您将 sql 存储在单独的字符串中,因此您将重写如下:

$sql= "SELECT COLUMN_1 FROM T_DEALS WHERE COLUMN_2 = '2011-01-03' and COLUMN_3 = 'VALUE_1'";
$result= mysql_query($sql);
if(!$result) {die ("Error 4 :".mysql_error());}

接下来 $row var 是一个数组,您应该使用 for 循环单步执行或访问特定索引。您不能直接回显数组,您将得到的只是输出中的“数组”。

for 循环类似于

 for $cell in $row{
 echo $cell;
 }

最后,在您发布的代码中,您省略了最后的?> 所以请确保它实际上存在于您的 php 代码中。

另外,我真的建议您使用 jQuery 而不是您正在使用的计划 js,因为它在不同的浏览器上的错误会更少,本教程将帮助您入门http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery如果您没有'没听说过。

于 2011-01-25T00:23:33.630 回答
0

为了跟进,我终于找到了这个错误。似乎在我的 .php 调用函数中,我在标题中放置了一个限制正确输出的值。它与 .js 或 .php 语言无关。

UserZer0,你是绝对正确的......当我回显 $row 它输出数组。但我终于得到了输出并且可以使用它。

一千个谢谢!

于 2011-01-29T01:31:37.927 回答