我编写了这个 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 之间没有空格。
有人使用记事本++遇到过这种事情吗?