尝试解析PHP未定义的索引
我对PHP和MariaDB相当陌生。我正在尝试写一个类似于Twitter的简单项目。然而,我在这个过程中遇到了这个错误 我正在使用的PHP代码:尝试解析PHP未定义的索引,php,nginx,mariadb,Php,Nginx,Mariadb,我对PHP和MariaDB相当陌生。我正在尝试写一个类似于Twitter的简单项目。然而,我在这个过程中遇到了这个错误 我正在使用的PHP代码: <?php // Variables $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'myPassword'; $dbname = 'tweetlead'; // Creating SQL Database Connection $conn = new mysqli($dbhost, $
<?php
// Variables
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'myPassword';
$dbname = 'tweetlead';
// Creating SQL Database Connection
$conn = new mysqli($dbhost, $dbuser, $dbpass);
// Testing the Connection
if(!$conn) {
die( "Connection Error:" . mysqli_connect_error());
}
echo "Connection is A-O-K! \n\n";
// Selecting SQL Database
mysqli_select_db($conn, $dbname);
function getSingle($query) {
$result = query($query);
$row = mysql_fetch_row($result);
return $row[0];
}
function query($query) {
$result = mysli_query($conn, $query);
return $result;
}
if($_REQUEST['tweet']) {
$tweet = $_REQUEST['tweet'];
$ip = mysqli_real_escape_string($_SERVER['REMOTE_ADDR']);
$uid = getSingle("SELECT uid FROM users WHERE ip = '".$ip."'");
if(!$uid) {
query("INSERT INTO users(ip) VALUES ('$ip')");
}
$date = Date("Y-m-d H:i:s");
query("INSERT INTO tweets(uid, port, date) VALUES($uid, '$tweet', '$date')");
print "$tweet, $ip";
}
print <<<EOF
<form action=info.php>
<textarea name=tweet></textarea>
<input type=submit value="Tweet">
</form>
EOF;
很多打字错误问题。+永远不要使用mysql,它在最新版本的PHP中被删除。mysql\u fetch\u row($result)
这是一些已经有十年历史的代码。您应该检查每个数据库调用的错误,我建议您在数据库访问中使用更现代的PDO。另外,mysli_query
?当您切换到PDO时,也要查看准备好的语句,或者mysqli可以做到,只是不那么容易。如果你想知道为什么,只要想想如果$tweet=“这里有一些文本”,你的引用将会发生什么变化
。至于您所问的问题,请使用if(isset($\u REQUEST[“tweet”])
。我已经有一段时间没有使用库访问数据库了,但类似的方法应该可以使用。