質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
INSERT

INSERTとは、行を追加する、コンピュータのデータベース言語SQLにおけるデータ操作言語(DML)ステートメントの1つである

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3360閲覧

INSERTクエリーが失敗します。

hilhilyzyan

総合スコア19

INSERT

INSERTとは、行を追加する、コンピュータのデータベース言語SQLにおけるデータ操作言語(DML)ステートメントの1つである

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/01/03 08:31

編集2018/01/03 11:21

データベースの「registration」というテーブルにデータを追加したいのですが、
エラーがでます。


Warning: mysqli_query() expects at least 2 parameters, 1 given in ...
Warning: mysqli_error() expects exactly 1 parameter, 0 given in ...

MYSQLに接続して、
データベースを選択したあとのコードが以下のコードです。
以下のコードがどこか間違っていますでしょうか?
INSERTクエリーが失敗しました。という文字は表示されます。

ご教授いただけると幸いです。

[追記]
$result_flag = mysqli_query($sql);
から、パラメータを一つ増やして、
$result_flag = mysqli_query($link,$sql);
にしました。

MYSQLの接続には成功しています
データベースの選択も成功しています。

phpMyAdminに、
registrationdbというデータベースにregistrationというテーブルがあり、
以下のコードを書き、実行しましたが、テーブルにデータが追加されていません。
エラーも出ていません。
なぜでしょうか…。

sql

1<?php 2$idnumber =$_POST["idnumber"]; 3$name = $_POST["name"]; 4$age = $_POST["age"]; 5$comment = $_POST["comment"]; 6 7$link = mysqli_connect('localhost', 'user(仮)', 'pass(仮)); 8if ($link == false){ 9 die("MYSQLの接続に失敗しました。"); 10 } 11 {echo"接続成功!";} 12 13$db_selected = mysqli_select_db($link,'registrationdb_db'); 14if (!$db_selected){ 15 die('データベース選択失敗です。'.mysqli_error()); 16} 17 18$sql = "INSERT INTO registration (idnumber, name, age, comment) VALUES ($idnumber, $name, $age, $comment)"; 19$result_flag = mysqli_query($link,$sql); 20?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Warning: mysqli_query() expects at least 2 parameters, 1 given in ...

直訳すると、

mysqli_queryは少なくとも2個のパラメータを期待しています。一個のパラメータが渡された。

php

1mysqli_query($sql)

$sql というパラメータが1個設定されていますね。

リファレンスを確認します。

http://php.net/manual/ja/mysqli.query.php

イメージ説明

引数の説明は

イメージ説明

どう使えばいいかは、このようにリファレンスに書かれています。エラーをちゃんと読み、リファレンスを読めば自己解決できるようになりますよ。

投稿2018/01/03 08:38

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hilhilyzyan

2018/01/03 11:21

$result_flag = mysqli_query($sql); から、パラメータを一つ増やして、 $result_flag = mysqli_query($link,$sql); にしました。 MYSQLの接続には成功しています データベースの選択も成功しています。 追記にも書きましたが、 phpMyAdminに、 registrationdbというデータベースにregistrationというテーブルがあり、 以下のコードを書き、実行しましたが、テーブルにデータが追加されていません。 エラーも出ていません。 なぜでしょうか…。
退会済みユーザー

退会済みユーザー

2018/01/03 12:13

提示されたコードのシンタックスの色分けがおかしくなっていますよね。文法エラーがありますよ。
guest

0

VALUEの部分をシングルクォーテーションで囲まないと、カラムに間違われるそうです、、、

php

1mysqli_set_charset($link, "utf8"); 2$sql = "INSERT INTO registration(idnumber, name, age, comment) VALUES('$idnumber', '$name', '$age', '$comment')"; 3$result_flag = mysqli_query($link, $sql); 4 5if (!$result_flag) { 6 die('INSERTクエリーが失敗しました。'.mysqli_error($link)); 7}

投稿2018/01/04 12:16

hilhilyzyan

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問