如何在php中运行mysql脚本?
我有一个mysql脚本需要在php中运行,我已经尝试过了,但没有成功。有人能帮我吗 我还尝试使用mysqli\u multi\u查询,但它也不起作用如何在php中运行mysql脚本?,php,mysql,Php,Mysql,我有一个mysql脚本需要在php中运行,我已经尝试过了,但没有成功。有人能帮我吗 我还尝试使用mysqli\u multi\u查询,但它也不起作用 <?php include 'connection.php'; if(isset($_GET["action"])&&($_GET["action"]=="versave")){ $gp_name = $_GET['gp_name']; $version = $_GET['version']; $query_vers =
<?php
include 'connection.php';
if(isset($_GET["action"])&&($_GET["action"]=="versave")){
$gp_name = $_GET['gp_name'];
$version = $_GET['version'];
$query_vers = "CREATE TEMPORARY TABLE tmp SELECT * from `gp_info` WHERE `gp_name`= $gp_name";
$query_vers .= "UPDATE tmp SET `version` = $version";
$query_vers .= "ALTER TABLE tmp DROP id";
$query_vers .= "INSERT INTO `gp_info` SELECT 0, tmp.* FROM tmp";
$query_vers .= "DROP TABLE tmp";
mysqli_multi_query($connect, $query_vers);
header("Location: gp_data.php");
}
?>
<form id="verForm" name="versaveForm" method="get">
<input type="hidden" name="action" value="versave">
<div>
<input type="text" id="gp_name" name="gp_name">
<input type="text" id="version" name="version">
</div>
<input type="submit" name="vers" value="Version" id="versave">
</form>
使用PDO而不是mysql_查询另请参见:
使用mysqli\u查询而不是mysql\u查询。它在新版本的php中被弃用,并且只使用了1个参数。我们没有在mysql\u查询中传递连接变量
将此行更新为mysqli\u查询
如果您使用的是GET方法,请使用us$\u GET获取提交表单数据
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
session_start();
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_GET["action"])&&($_GET["action"]=="versave")){
$gp_name = $_GET['gp_name'];
$version = $_GET['version'];
$query_vers = "CREATE TEMPORARY TABLE IF NOT EXISTS tmp SELECT * from `gp_info` WHERE `gp_name`= '$gp_name';
UPDATE tmp SET `version` = '$version';
ALTER TABLE tmp DROP id;
INSERT INTO `gp_info` SELECT 0, tmp.* FROM tmp";
if(mysqli_multi_query($conn, $query_vers)){
echo "query exicute";
}
//header("Location: gp_data.php");
}
?>
<form id="verForm" name="versaveForm" method="get">
<input type="hidden" name="action" value="versave">
<div>
<input type="text" id="gp_name" name="gp_name">
<input type="text" id="version" name="version">
</div>
<input type="submit" name="vers" value="Version" id="versave">
</form>
,警告此扩展在PHP 5.5.0中被弃用,mysql_query发送一个唯一的查询不支持多个查询抱歉,但它不起作用。我尝试过使用mysqli\u multi\u查询,但它也不起作用……我已经编辑了代码。Thanksit有点奇怪,当我第一次使用你的代码时还可以,但之后我再试一次,它不会在mysql中生成=。=?您好!我想知道你能不能帮我解决这个问题。当你有机会的时候,请看一看。
mysqli_query($connect, $query_vers);
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
session_start();
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_GET["action"])&&($_GET["action"]=="versave")){
$gp_name = $_GET['gp_name'];
$version = $_GET['version'];
$query_vers = "CREATE TEMPORARY TABLE IF NOT EXISTS tmp SELECT * from `gp_info` WHERE `gp_name`= '$gp_name';
UPDATE tmp SET `version` = '$version';
ALTER TABLE tmp DROP id;
INSERT INTO `gp_info` SELECT 0, tmp.* FROM tmp";
if(mysqli_multi_query($conn, $query_vers)){
echo "query exicute";
}
//header("Location: gp_data.php");
}
?>
<form id="verForm" name="versaveForm" method="get">
<input type="hidden" name="action" value="versave">
<div>
<input type="text" id="gp_name" name="gp_name">
<input type="text" id="version" name="version">
</div>
<input type="submit" name="vers" value="Version" id="versave">
</form>