gpt4 book ai didi

php - PHP Link Shortener问题

转载 作者:搜寻专家 更新时间:2023-10-30 23:41:05 25 4
gpt4 key购买 nike

我好像找不到这个代码的问题。但我知道有一个…首先……它不会将条目添加到我的数据库中,其次我无法访问旧条目。

<?php
require_once '../config.php';
$conn = new mysqli($server, $username, $password, $database);
if ($conn->connect_error) {
die("<p style=color:white>Could not connect to database: " . $conn->connect_error . "</p>");
}
$title = $_GET['x'];
if (isset($title)) {
$result = $conn->prepare("SELECT (id, url, title) FROM links WHERE title=$title");
$result->execute;
$goto = $result->get_result()->fetch_array();
$g = $goto[1];
header("Location: $g");
}
function GenerateString($string_length = 3) {
$permissible_characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$char_length = strlen($permissible_characters);
$random = '';
for ($i = 0; $i < $string_length; $i++) {
$random .= $permissible_characters[rand(0, $char_length - 1)];
}
return $random;
}
$url = $_POST['url'];
$code = GenerateString();
if (isset($_POST['submit'])) {
if (substr($url, 0, 7) == "http://" ) {
$url = $url;
}
elseif (substr($url, 0, 8) == "https://") {
$url = $url;
} else {
$url = "http://".$url;
}
$result = $conn->prepare("INSERT INTO links VALUES('',$url,$code)");
}

?>

请把你看到的任何错误都修好。我是php新手!
提前谢谢!
-扎克

最佳答案

我看到的最明显的错误是:在您的阅读部分,您的$result->execute;缺少括号,因此永远不会被调用(没有括号,它只是一个语句,而不是一个函数调用,在这种情况下什么都不会做)。所以改成$result->execute();
在编写部分,您准备语句但从不执行它。需要执行准备好的语句才能使其生效。在您的$result->execute();之后添加$result = $conn->prepare(…);来解决这个问题。
另请注意:您应该按照预期使用准备好的语句,使用变量绑定(bind_param函数等),以防止sql注入攻击!
请参阅下面的问题/答案,以获取有关该问题的详细信息:How can I prevent SQL injection in PHP?

关于php - PHP Link Shortener问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com