1
    <?php     
mysql_query("CREATE TABLE IF NOT EXISTS test.$p (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `title` varchar(255) NOT NULL DEFAULT '',
      `colum` varchar(255) NOT NULL DEFAULT '',
      `ord` varchar(255) NOT NULL DEFAULT '',
      `tex` varchar(255) NOT NULL DEFAULT '',
      `search` varchar(255) NOT NULL DEFAULT '',
      `count` varchar(255) NOT NULL DEFAULT '',
      `order` varchar(255) NOT NULL DEFAULT '',
      PRIMARY KEY (`id`)
    )ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; 
     INSERT INTO $p ( `title`, `colum`, `ord`, `tex`, `search`, `count`, `order`) VALUES
    ('$a',  '$b',  '$c',  '$d',  '$f',  '$h',  '$g'); ");
        ?>

我正在使用 PHP 语言。$r 是我的数据库,$p 是我的表名
在此我正在创建一个表,如果未创建表并且已创建表,那么我想在上面给出的相应列中插入值,但我不擅长mysql_query 所以我不知道在哪里添加插入查询

我找到了解决我的问题的方法,但是这段代码在 phpmyadmin 中正常工作,但是当我使用 php 运行这段代码时,它在数据库中什么也没显示

4

2 回答 2

1

您不能用一个mysql_query().

mysql_query()使用INSERT查询作为参数再次调用。

如果您绝对必须在单个函数调用中执行多个查询,请将您的 mysql 引擎更改为 mysqli,然后mysqli_multi_query()像这样使用:

mysqli_multi_query ($link, 'query1;query2;query3;...');

请记住,尽管这两种方法都按顺序发出查询,但它们的执行不是原子的。如果您需要原子性,请使用TRANSACTION.

于 2013-08-06T16:31:24.137 回答
0

13.1.17 。CREATE TABLE 语法可以执行以下操作:

CREATE TABLE IF NOT EXISTS `table1` (
    `col1` INT (11) DEFAULT NULL,
    `col2` INT (11) DEFAULT NULL
)
SELECT 1 `col1`, 2 `col2`;

并且应该与mysql_query

于 2013-08-06T17:28:38.723 回答