php中的SQL问题

php中的SQL问题,php,mysql,sql,Php,Mysql,Sql,非常感谢你的回答,他们真的帮了我很大的忙 我很好奇我做错了什么:我无法从SQL语句中获取任何值 我的数据库表结构: 我的phpcode: include('config.php'); $id = $_GET['id']; $query = "SELECT * FROM upload WHERE id = '$id'"; echo $query."<br/>"; $result = mysql_query($query) or die('error'); print_r($re

非常感谢你的回答,他们真的帮了我很大的忙

我很好奇我做错了什么:我无法从SQL语句中获取任何值

我的数据库表结构:

我的phpcode:

include('config.php');
$id = $_GET['id'];

$query = "SELECT * FROM upload WHERE id = '$id'";
echo $query."<br/>";


$result = mysql_query($query) or die('error');
print_r($result);
echo $result['id'];
这个while语句是否需要一个结果?我的意思是,只能有一个ID。

$result是一个矩阵,每行有一个输出。因此,要访问id,首先必须指明行

例如,使用$result[0]['id']

但是,最好是通过while$results=mysql\u fetch\u array$result表达式来实现

$result[0]['id'];

资源就是资源。它包含许多行。当只返回一行时,这不是特殊情况


如果知道只有一个结果,则不必使用while,但仍然需要使用mysql\u fetch\u数组或其他方法从中提取第一行。

SELECT语句返回资源ID,您必须使用mysql\u fetch\u数组、mysql\u fetch\u assoc函数迭代结果。

您正在使用并且应该使用。您还容易受到现代API的攻击,因为它会使您更容易使用。您不运行查询。你回音一个字符串,它做得很好。我看不到与数据库的实际连接发生在任何地方。$row=mysql\u fetch\u array$result;echo$row['id'];好的,mysql\u query返回的是一个mysql资源,而不是结果,要获得所需的结果,需要使用mysql\u fetch\u数组或mysql\u fetch\u assoc等。请参考config.php中编写的数据库连接$connect=mysql\u connect$localhost、$dbuser、$dbpass或die$db\u error 1;mysql\u select\u db$dbname$connect;$dbname等不是空的,但我不会把它们放在这里,哈哈。顺便说一下,连接可以正常工作,与其他参数一起使用。只是好奇为什么我必须在这里使用while语句。$result=mysql\u query$query或die'error';echo$result[0]['id'];这个不起作用,它不会返回任何东西..:还是我做错了什么?哦,你是对的!如果要检查所有矩阵层次结构,请键入print\r$result。谢谢,您的所有答案都非常有用!我知道这是“旧”的SQL方式,但我从未正确地学习过mySQLi。一旦我完成了这项工作,我想用mySQLi进行练习:
$result[0]['id'];