如何将查询结果保存在变量中?

时间:2019-03-27 11:01:05

标签: php html mysql

我正在尝试将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中。

2 个答案:

答案 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是您的数据库连接