1

SQLでレコードを編集するためにこのPHPを作成しました。別のテーブルの他のレコードを編集するためのほぼ同じページがあり、正常に機能します。

これが私のコードです:

<?php

$con=mysqli_connect("localhost","----","----","mitchpol_gigs");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$adds['v_venue'] = $con->/*Text-Start*/real_escape_string($_POST['v_venue']);
$adds['v_url'] = $con->real_escape_string($_POST['v_url']);
$adds['v_address'] = $con->real_escape_string($_POST['v_address']);

$sql = "
UPDATE `venues` 
SET v_venue='". $adds['v_venue']. "', v_url='". $adds['v_url']. "', v_address='". $adds['v_address']. "'
WHERE v_id='$_POST[v_id]'";

if ($con->query($sql) === TRUE) {
    echo "Venue edited successfully.<br><br>
    Input summary:
    <br>Edited: ID" . $_POST['v_id'] . "
    <br>Venue: " . $_POST['v_venue'] . "
    <br>URL: " . $_POST['v_url'] . "
    <br>Address: " . $_POST['v_address'] . "
    <br><br>";
    } else {
        echo 'Error: '. $con->error . '<br>';
        }

include 'venueedit.php';
?>

コードを実行する代わりに、ページは、コード「Text-Start」でメモした場所からドキュメントの最後までのすべてのテキストを返します。

これは私が得るエラーです: PHP 解析エラー: 構文エラー、予期しない '$con' (T_VARIABLE) in (path)insertvenuesedit.php on line 1

「?>」の代わりに「->」がコードの末尾として認識されているかのようです。

私のファイルは間違いなく .html ではなく .php です。

php.ini ファイルで short_open_tag がオフになっていることを確認しました。です。これを引き起こす可能性のある別のphp.ini変数があるかどうか疑問に思っていますか?

編集 - 問題は解決しましたが、解決策に興味があります。

それは私のエディタの問題であることがわかりました。私はメモ帳++を使用しています。別のページからコードをコピーして貼り付け、この状況に適用するために必要ないくつかの編集を行いました。コードは上に投稿したとおりに表示されていましたが、ファイルを閉じて再度開くと、すべてのコードが 1 行に表示されました。すべてを適切に配置した後、コードは問題なく動作します。

つまり、?php $con=mysqli_connect は、?php と $con の間にスペースを入れずに php$con=mysqli_connect として投稿していました。

notepad ++を使用してそのようなことに遭遇した人はいますか?

4

1 に答える 1

0

PHP が解析されていません。この->演算子は、開始後の最初の大なり記号であるため、ブラウザーは無効な HTML タグと、その後に続くすべてのタグを認識します。ブラウザでソースを表示することを選択した場合は、そこにすべての PHP が表示されます。

于 2013-04-15T23:34:59.750 に答える