所以,我希望得到一个变量列。
我尝试了2种方法
mysql_query
和
mysql_fetch_array
在mysql_query
我得到Resource id #5
。
和
在mysql_fetch_array
我得到array
。
是否有人知道如何解决这个问题?
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
答案 0 :(得分:0)
假设您的列名为'名字'。然后你可以用这个
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
$firstname = $userRow[0]['firstname'];
echo $firstname;
如果在结果中获得多行,则可以循环获取所有行。
答案 1 :(得分:0)
我的理解是你想从一个表中调用列名,其中该列的值等于一个变量?如果是的话......
我能想到解决这个问题的最简单方法是在所有表中搜索基于列查找的值并返回值。此功能应该有助于完成此任务:
function columnToVariable($conn, $table, $variable){//SET PARAMETERS (CONNECTION STRING, TABLE NAME, VARIABLE SEARCH)
$sql = "SHOW COLUMNS FROM ".mysqli_real_escape_string($conn, $table).";"; // SQL STATEMENT
$result = $conn->query($sql); // RESULTS OF ALL ROWS
$field = array(); // ARRAY WITH COLUMNS
if($result->num_rows > 0){ // CHECK IF RESULTS FOUND
while($row = $result->fetch_assoc()){ // SET RESULTS TO ARRAY
array_push($field, $row['Field']); // APPEND ARRAY WITH FIELD NAME
}
}
foreach($field as $return){ // ITERATE THROUGH FIELD NAMES
$sql = "SELECT * FROM ".mysqli_real_escape_string($conn, $table)." WHERE ".mysqli_real_escape_string($conn, $return)." = '".mysqli_real_escape_string($conn, $variable)."';"; // SQL STRING
$result = $conn->query($sql); // QUERY RESULTS
if($result->num_rows > 0){ // IF FOUND, RETURN VALUE
return $return; // RETURN VALUE
}
}
}