1

我编写了这个 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 Parse error: syntax error, unexpected '$con' (T_VARIABLE) in (path)insertvenuesedit.php on line 1

就好像“->”被识别为代码的结尾,而不是“?>”。

我的文件绝对是 .php 而不是 .html。

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

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

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

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

有人使用记事本++遇到过这种事情吗?

4

1 回答 1

0

您的 PHP 没有被解析。该->运算符恰好是开始后的第一个大于号,因此浏览器会看到一个无效的 HTML 标记,然后是它之后的所有内容。如果您选择在浏览器中查看源代码,您将在那里看到所有 PHP。

于 2013-04-15T23:34:59.750 回答