0

私は自分の間違いを見つけることができません。34 行目に T_RETURN エラーがあると表示されます。

if ($type == 'post') {
$query = "INSERT INTO=Oktoberfest2013 (First Name, Last Name, Phone, Address, Department,Email Address, Level of Traning) 
VALUES ('$fname','$lname', '$phone', '$address', '$department', '$email', '$level')";
    if(!$mysqli->query($query))(
    return Errormessage: $mysqli->error);

最後の行は 34 行目です。

残りのコードは次のとおりです。

require_once('config.php');
function connect() {
$mysqli = new mysqli( DB_HOST, DB_USER, DB_NAME, DB_PASS);

if( $mysqli->connect_error)
    {die('connect_error ('. $mysqli->connect_error .')' 
    . $mysqli->connect_error);

    }

    return $mysqli;
    }

Function insert ($types, $values) {
$mysqli = connect ();

if ($type == 'post') {
$query = "INSERT INTO=Oktoberfest2013 (First Name, Last Name, Phone, Address, Department,Email Address, Level of Traning) 
VALUES ('$fname','$lname', '$phone', '$address', '$department', '$email', '$level')";
    if(!$mysqli->query($query))(
    return Errormessage: $mysqli->error);

    }
   Function select ($query) {
mysqli = connect();

$result=$mysqli->query($query);

While ($obj=$result->fetch_object(:)(
    $result[] =$obj;)

    return $return

    ?>
4

3 に答える 3

6
if(!$mysqli->query($query))(
return Errormessage: $mysqli->error);

ステートメントブロックを囲む中括弧{..}の代わりに括弧(..)があります。文字列を返したいので、returnステートメントも次のようにフォーマットする必要があります。

return 'Errormessage:'.$mysqli->error;

whileより無効な構文と相まって、ループにも同様の問題があります。を削除し:、ステートメントブロック区切り文字を中括弧に置き換えます。

于 2013-01-03T12:48:47.867 に答える
2

それは有効なPHPではないからです。結果を返すには、結果を文字列として連結する必要があります。

return "Errormessage: " . $mysqli->error;

そして、w3dが指摘したように、あなたは(の代わりに使用しています{

于 2013-01-03T12:48:30.307 に答える
1

PHP が報告した行番号は、実際にエラーが発生した場所ではなく、エラーが検出された場所です。その行までのコードを調べる必要があります。

if(!$mysqli->query($query))(
    return Errormessage: $mysqli->error);

    }

コード ブロック (ステートメントのグループ) は常に中かっこで囲む必要があります。また、「Errormessage: $mysqli->error」を囲む二重引用符がありません。

While ($obj=$result->fetch_object(:)(

(すでに一致していない) 括弧内にコロンだけを入れてはいけません。

$query = "INSERT INTO=Oktoberfest2013 (First Name, Last Name, Phone, Address, Department,Email Address, Level of Traning) 
VALUES ('$fname','$lname', '$phone', '$address', '$department', '$email', '$level')";

SQL クエリの先頭付近に等号が表示されていないようです。ところで、PHP の変数補間を使用して値を挿入する理由はありません。SQL インジェクションを防ぐには、MySQLi のプリペアド ステートメント機能を使用する必要があります。

于 2013-01-03T13:01:12.303 に答える