我正在尝试将MYSQL查询的结果保存在变量中。我知道结果保存为数组,但是我不知道如何将结果分配给变量。 我可以回显结果,但不能将其分配给变量。
这是我的错误代码:
require('db.php');
$id =$_REQUEST['id'];
$name ="SELECT name FROM table2 WHERE id='".$id."'";
$name_result = $con->query($name);
while($row = $name_result->fetch_assoc()) {
$name=$row['name'];
}
$ins_query=" insert into table1 (`id`,`name`) values ('$id','$name')";
$stat=mysqli_query($con,$ins_query) or die(" error".mysql_error());
Id作为HTML输入字段从用户那里获取,并将保存在table1中。 名称存在于table2中,我想在table1中的id与table2中的id相等的地方选择它,然后将其插入table1中。
答案 0 :(得分:0)
$name ="SELECT name FROM table2 WHERE id='$id'";
正如您所说,我们可以将变量存储为数组
$array = array();
while($row = mysql_fetch_object($name))
{
$array[] = $row;
}
因此,在那之后,$ array []将具有您想要的值,但是如果您要使用单个变量而不是数组,则可以使用等效变量进行转换。希望这一点对您有所帮助。
答案 1 :(得分:-1)
尝试此代码:
require('db.php');
$id = $_REQUEST['id'];
//modification
$query = $this->db->prepare("SELECT name FROM table2 WHERE id=?");
$query->bind_param('s', $id);
$query->execute();
//assuming you are retrieving only 1 value
$result = $query->get_result->fetch_assoc();
if ($result) {
//value stored...use as you wish!
$name = $result["name"];
} //you can add your else
$ this-> db是您的数据库连接