在函数中将一个查询插入多个表中

时间:2014-05-20 17:19:32

标签: php mysql

我想将表1中的单独字段存储到表2我使用此函数但查询错误 的 function.php

function insert_content($judul_content,$kode_user,$penulis,$content,$keyword,$deskripsi){
        $koneksi = connection();
        $data = mysql_query("insert into content (judul_content,kode_user,tanggal,penulis,content,keyword,deskripsi) values ('$judul_content','$kode_user',now(),'$penulis','$content','$keyword','$deskripsi'); insert into content_user (judul_content,nama_lengkap) values ('$judul_content','$penulis');") or die ("query error");
        destroy_connection($koneksi);
        return $data;
    }

当我在表格内容中插入时,judul_content和penulis只会自动存储到表格content_user中

表格内容

kode_content | judul_content | kode_user | deskripsi | penulis
  1          |   abcd        |   3       |   tes     |  user1

table content_user

judul_content  |  penulis
   abcd        |   user1

由于

3 个答案:

答案 0 :(得分:0)

mysql_query函数中,您只能执行一个sql语句。所以你必须做2个电话。 即:

mysql_query("insert into content (judul_content,kode_user,tanggal,penulis,content,keyword,deskripsi) values ('$judul_content','$kode_user',now(),'$penulis','$content','$keyword','$deskripsi')") or die ("query error");
mysql_query("insert into content_user (judul_content,nama_lengkap) values ('$judul_content','$penulis');") or die ("query error");

答案 1 :(得分:0)

您正在使用mysql_query,问题是mysql_query一次只能处理一个查询。

您可以切换到 mysqli 并使用mysqli_multi_query

自PHP 5.5.0起,不推荐使用mysql_ *函数,不建议用于编写新代码,因为将来会删除它们。相反,应使用mysqliPDO_MySQL扩展名。

答案 2 :(得分:0)

mysql_query()向与指定link_identifier关联的服务器上当前活动的数据库发送唯一查询(不支持多个查询)。

此外,mysql *函数也已折旧。您应该使用MySQLiPDO

在MySQLi中,您可以使用mysqli::multi_query

使用mysql_query,您应该将语句拆分为两个:

mysql_query("insert into content (judul_content,kode_user,tanggal,penulis,content,keyword,deskripsi) values ('$judul_content','$kode_user',now(),'$penulis','$content','$keyword','$deskripsi')") or die ("query error");
mysql_query("insert into content_user (judul_content,nama_lengkap) values ('$judul_content','$penulis');") or die ("query error");