PHP对象运算符“ - >”被读为PHP结尾“?>”

时间:2013-04-15 21:43:10

标签: php

我编写了这个PHP用于编辑SQL中的记录。我有一个几乎相同的页面,用于编辑另一个工作正常的表上的其他记录。

这是我的代码:

<?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解析错误:语法错误,第1行(路径)insertvenuesedit.php中的意外'$ con'(T_VARIABLE)

好像是“ - &gt;”被认为是代码的末尾而不是“?&gt;”。

我的文件肯定是.php而不是.html。

我读了以确保我的php.ini文件中的short_open_tag已关闭。它是。 我想知道是否有另一个php.ini变量可能导致这个?

编辑 - 问题解决但对解决方案感到好奇。

原来这是我编辑中的一个问题。我正在使用记事本++。我从另一个页面复制并粘贴了我的代码,并进行了一些编辑,我需要将其应用于这种情况。代码显示为我在上面发布但在关闭文件并重新打开后,它在一行显示了我的所有代码。适当地间隔一切后,代码就可以了。

换句话说?php $ con = mysqli_connect发布为php $ con = mysqli_connect,在php和$ con之间没有空格。

有人用notepad ++遇到过这类事吗?

1 个答案:

答案 0 :(得分:0)

您的PHP未被解析。该->运算符恰好是启动后的第一个大于号的符号,因此浏览器会看到无效的HTML标记,然后是其后的所有内容。如果您在浏览器中选择了View Source,那么您将看到所有PHP。