0

データベースとテーブルを作成しています。データベースとテーブル作成のコードは次のとおりです。

<?php
//error_reporting(E_ALL);
//connect to mysql
$db = mysql_connect('127.0.0.1', 'root', '') or die ('Unable to Connect.Check your connection parameters');
//create the main database if it doesn't already exists
$query = 'CREATE DATABASE stock1';
mysql_query($query, $db) or die (mysql_error($db));
//make sure our recently created db is the active one
mysql_select_db('stock1', $db) or die (mysql_error($db));

//create the products table
$query = 'CREATE TABLE products1(
         product_id     INTEGER UNSIGNED    NOT NULL    AUTO_INCREMENT,
         product_name   VARCHAR(40)         NOT NULL,
         product_stock  SMALLINT UNSIGNED   NOT NULL DEFAULT 0,

         PRIMARY KEY(product_id)
         )';

         echo "Success";

         ?>

この後、2 つの入力を受け入れるファイルを作成し、このデータを php ファイルに送信します。HTMLは次のとおりです。

<html>
<head>
<title>Inventory - Backend</title>
</head>
<body>

<form action="addproducts.php" method="post">
<table>
<tr>
<td>Product Name : </td>
<td><input type="text" name="pname"/></td>
</tr>
<tr>
<td>Product Quantity : </td>
<td><input type="text" name="productq"/></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><input type="submit" name="Add Product"/></td>
</tr>
</table>
</form>
</body>
</html>

ここに裏付けがあります:

<?php
$db = mysql_connect('127.0.0.1', 'root', '') or die ('Unable to Connect.Check your connection parameters');
mysql_select_db('stock1', $db) or die (mysql_error($db));

$productname=$_POST['pname'];
$productquantity=$_POST['productq'];

$query = 'INSERT INTO products1
          (product_id, product_name, product_stock)
          VALUES
          (NULL, "' . $productname . '", ' . $productquantity . ')';

          mysql_query($query, $db) or die (mysql_error($db));
          echo "Product Added";
          ?>

しかし、このスクリプトを実行しようとすると、次のエラーが発生します。

Table 'stock1.products1' doesn't exist

このエラーが表示される理由を誰か教えてもらえますか? どうすれば修正できますか?

4

3 に答える 3

2

あなたが行方不明です

mysql_query($query);

テーブルが作成される前にecho "Success";products1

于 2013-07-25T15:29:19.670 に答える
2

テーブルを作成するクエリを実行するのを忘れただけです:

$query = 'CREATE TABLE products1(
         product_id     INTEGER UNSIGNED    NOT NULL    AUTO_INCREMENT,
         product_name   VARCHAR(40)         NOT NULL,
         product_stock  SMALLINT UNSIGNED   NOT NULL DEFAULT 0,

         PRIMARY KEY(product_id)
         )';

mysql_query($query);

echo "Success";

mysql_query($query);コードに行がありません。

于 2013-07-25T15:28:19.317 に答える