我正在尝试从我的数据库中获取数据,只给它一个ID号。我的数据库有2列,第一列是ID,第二列是图像路径。 所以如果我传递ID = 3,它应该返回与该ID相对应的路径。
我试图这样做,但我仍然坚持查询。
mysql_query (conn, "SELECT * FROM table" );
res = mysql_use_result(conn);
row = mysql_fetch_row(res)
ID = atoi(row[0]);
path = row[1];
printf("ID: %i", ID);
printf("Image Path: %s", path);
请帮助:)
答案 0 :(得分:0)
您似乎在基本计算机概念方面存在一些问题。例如,有一件事与更多事情的概念。您获取一个行,但您的数据库表有多行,您的查询将返回所有行。 (没有WHERE
条款)。
显而易见的解决方案是获取所有行,或者(更好地)将查询限制为您想要的行。
答案 1 :(得分:0)
我认为这个问题并不是很清楚。第一种情况,对于要显示id / path的每一行:
mysql_query (conn, "SELECT * FROM table" );
res = mysql_use_result(conn);
while (row = mysql_fetch_row(res)) {
ID = atoi(row[0]);
path = row[1];
printf("ID: %i", ID);
printf("Image Path: %s", path);
}
其他可能性,您只需要一行,因为您知道要查找的ID。然后,您可以决定仅使用以下内容检索缺少的列:
mysql_query (conn, "SELECT path FROM table WHERE id=ID" );
在一些更复杂的情况下,假设即使在WHERE中你可能有多行,你也可以只保留第一行,例如在查询中添加TOP条件。在任何情况下,您都需要考虑将要返回的内容。
我没有测试我写的代码,只是编辑了一下你发布的内容(只是为了公平^^)