たぶん私は初心者ですが、PHPの最初の関数で何がうまくいかないのか分かりません。関数を使用する代わりにコードを貼り付けるとすべてが問題ないので、パラメータを正しく取っていないようです。 私はちょうどその名前を参照しているSQLテーブルからの内容を持つHTMLテーブルを生成しようとしています。ここでは簡略化されたコードです:php関数のパラメータでエラーが発生しました
[conexion.php]
<?php
$host = "localhost";
$user = "root";
$pw = "";
$db = "complejo_turistico";
$tabla = "";
$con = mysqli_connect($host,$user,$pw) or die ("Problems connecting".mysqli_error($con));
$selectDB = mysqli_select_db($con,$db);
?>
[index.phpの]
<?php
include("init.php");
include("conexion.php");
include("tables.php");
?>
<!DOCTYPE html>
<body>
<?php
createTable("admin");
?>
</body>
</html>
[tables.php]
<?php
function createTable($table){
if (mysqli_select_db(mysqli_connect("localhost","root",""),"complejo_turistico")) {
$select = mysqli_query(mysqli_connect("localhost","root",""),"SELECT * FROM ".$table.";");
?>
<table border="1">
<tr>
<th>Code</th>
<th>Func</th>
</tr>
<?php
while ($sel = mysqli_fetch_array($select)) {
?>
<tr>
<td><?php echo $sel['cod_emp'];?></td>
<td><?php echo $sel['function'];?></td>
</tr>
<?php
}
echo "</table>";
}
}
?>
は、そして、ここでエラーです落ち込み:
警告:mysqli_fetch_array()は、パラメータ1は勿論であるライン23
およびライン23上/opt/lampp/htdocs/complejo/tables.phpで与えmysqli_result、ブール値である場合ながら配列のフェッチを期待しますブールに変換されたSQLクエリドロップエラーためと$アレイ選択が... fecthedできない理由...
私の意見では、それは関数内のパラメータ$表を取っていない、というのです。しかし、私はこれは$select
はブールであることを意味
'conexion.php'に' $ con'が作成されていますか?それは有効な接続ですか?それはグローバルスコープにあるのか、 'conexion.php'にある関数の中で定義されていますか? – Sean
'conexion.php'と' $ selectDB'はどこにありますか – RiggsFolly
メインコードでデータベースに接続していますが、関数は悪い考えです。スクリプトごとに一度だけデータベースに接続する必要があります。 '$ con'をパラメータとして使用する必要がある関数に渡します。 – RiggsFolly