在mysql中设置var,并在新查询中使用


Setting a var in mysql and using in new query

我想做一些类似的事情

$tagNo = 12345;
mysql_query("var = SELECT `jobNo` FROM `Jobs` WHERE `tagNo`='".$tagNo."';
INSERT INTO `Locations` (`jobNo`,`tagNo`,`name`) VALUES (var, '".$tagNo."', 'blah')");

这能做到吗?

你不能这样分配变量,但你可以使用INSERT...SELECT语法来实现你想要的:

mysql_query("INSERT INTO `Locations` (`jobNo`, `tagNo`, `name`) 
             SELECT `jobNo`, '".$tagNo."', 'blah' FROM `Jobs` WHERE `tagNo`='".$tagNo."'");

但是,正如评论中所解释的,不要在新代码中使用mysql_*函数。

您必须先获取查询,然后插入所需的值。或使用insert。。选择statment。

你可以试试这个

 $tagNo = '12345';
 $var = mysql_query("SELECT `jobNo` FROM `Jobs` WHERE `tagNo`='".$tagNo."' ");
 $row = mysql_fetch_array($var) ;
  mysql_query("INSERT INTO `Locations` (`jobNo`,`tagNo`,`name`) 
                     VALUES ('".$row['jobNo']."' , '".$tagNo."', 'blah')");

但是使用mysql是一个非常糟糕的主意,而是使用PDO或MYSQLI