0

好吧,所以我有一个 php 脚本,它返回 SQL 表的内容并回显它们,当我加载页面时它工作正常但是当我通过 C# 下载字符串时它出现空......如果我输出除了结果之外的其他内容SQL 表它也可以工作。

我也尝试过 WebRequests,但没有运气。

为什么它不能工作?

输出也只是一行。

这是我的 PHP 代码

<?php  
$database="example";  
mysql_connect ("localhost", "username", " ");  
@mysql_select_db($database) or die( "Unable to select database");  
$result = mysql_query( "SELECT * FROM names" )  
or die("SELECT Error: ".mysql_error());  
$num_rows = mysql_num_rows($result);  


while ($get_info = mysql_fetch_row($result)){  
foreach ($get_info as $field)  
echo $field;  
}  

?>  

C# 代码

 HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://10.0.0.3/list.php");
        myHttpWebRequest.MaximumAutomaticRedirections = 1;
        myHttpWebRequest.AllowAutoRedirect = true;
        HttpWebResponse response = (HttpWebResponse)myHttpWebRequest.GetResponse();
        using (Stream stream = response.GetResponseStream())
        {
            StreamReader reader = new StreamReader(stream, Encoding.UTF8);
            String responseString = reader.ReadToEnd();
            MessageBox.Show(responseString);
        }

这是生成的 HTML(这是废话,但我只是在测试)

jacobsharkeypetergriffinTimPalmer123testlion ofnarnia  

奇怪的是,例如在 php 脚本中,如果我将“$field”更改为“test”之类的东西,它可以完美运行并通过表结果的数量输出 test

4

1 回答 1

0

试试这个来获取 HTML,它的代码要少得多,而且可能更干净一些。

string str = string.Empty;

WebClient client = new WebClient();
Stream data = client.OpenRead("http://www.google.com");
StreamReader reader = new StreamReader(data);
str = reader.ReadToEnd();
于 2012-12-27T22:26:23.983 回答