插入并更新到多个表,MySQL

时间:2015-05-03 18:35:33

标签: php mysql

我有两张桌子。我想在提交表单时使用parentcreate.php作为操作,并使用该文件在第一个表中插入几个变量,同时用其中一个变量更新另一个表。我在网上搜索过但最接近的是插入和更新单个表,而不是两个不同。

提前致谢。

更新

这是我到目前为止所获得的代码,因为您可以看到它只是插入第一个表格。

session_name('knine_settings_login');
    session_set_cookie_params(1*1*1*15*60);
    session_start();

    mysql_connect('xxxx', 'xxxx', 'xxxx') or die(mysql_error());
    mysql_select_db("xxxx") or die(mysql_error());

    $ClassIDOne = mysql_real_escape_string($_POST["cidone"]);
    $ClassIDTwo = mysql_real_escape_string($_POST["cidtwo"]);
    $ClassIDThree = mysql_real_escape_string($_POST["cidthree"]);
    $ClassIDFour = mysql_real_escape_string($_POST["cidfour"]);
    $ClassIDFive = mysql_real_escape_string($_POST["cidfive"]);
    $usr = $_SESSION["usr"];

    mysql_query("SET NAMES 'utf8'") or die(mysql_error()); 
    mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error()); 

    $query="INSERT INTO knine_parent_db
            SET usr = '$usr', ClassIDOne = '$ClassIDOne', ClassIDTwo = '$ClassIDTwo', ClassIDThree = '$ClassIDThree', ClassIDFour = '$ClassIDFour', ClassIDFive = '$ClassIDFive'";  

我基本上想要同时执行这两个查询:

$query="INSERT INTO knine_parent_db
            SET usr = '$usr', ClassIDOne = '$ClassIDOne', ClassIDTwo = '$ClassIDTwo', ClassIDThree = '$ClassIDThree', ClassIDFour = '$ClassIDFour', ClassIDFive = '$ClassIDFive'";

    $query="UPDATE knine_settings_login
            SET ClassID = '$usr' WHERE usr ='$usr'";  

2 个答案:

答案 0 :(得分:1)

您应该使用PDO,并在PHP手册中阅读此主题:Link to PDO::beginTransactionthis one以及this one

你应该开始一个新的交易,然后做你的请求,检查是否没有错误,然后提交!

使用PDO :: commit后,查询将被备份为自动提交模式,然后您必须再次使用PDO :: beginTransaction来设置自动提交并对单个事务执行多个查询。

如何在一个交易中执行多个请求。

在您的情况下,有一些代码可以帮助您:

ExecutorService executorService = Executors.newCachedThreadPool();
    executorService.execute(new Runnable() {
        @Override
        public void run() {
            updatePosition();
        }
    });

    executorService.execute(new Runnable() {
        @Override
        public void run() {
            updateVelocity();
        }
    });

答案 1 :(得分:0)

尝试并分离出对我有用的陈述

//  insert query execution
$sql = "INSERT INTO vendors (vendorId ,vendor_name, address, email, phone, category) VALUES
('$vendorId', '$vendor_name', '$address', '$email',
 '$phone', '$category')
";

if ($mysqli - > query($sql) === true) {
  echo "<script>alert('You have successfully registered');</script>";
} else {
  echo "<script>alert('could not create shop something went wrong  ');  <
  /script>";  
  $mysqli - > error;
}

//  update query execution
$sql = "UPDATE users SET userType = 'vendor', vendor_name='$vendor_name'  
WHERE id = '".$_SESSION['
id ']."'
";

if ($mysqli - > query($sql) === true) {
  echo "<script>alert('update successfull ');</script>";
  header("location:my-account.php");
} else {
  echo "<script>alert('could not create shop something went wrong  ');  <
  /script>";  $mysqli->error;
}