Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于mySQL查询转到url_Php_Html_Mysql - Fatal编程技术网

Php 基于mySQL查询转到url

Php 基于mySQL查询转到url,php,html,mysql,Php,Html,Mysql,好的,我正在制作这个网站(有点像bitly或goo.gl),在这里你输入一个链接,它会缩短它,但会有一些额外的好处。 现在我正在托管一个本地mysql服务器进行测试,按照它的设置方式,一旦输入一个要缩短的链接,就会生成一个随机的3位数代码,并将其与链接一起放入mysql表中 当您在站点上输入代码时,它会转到mysql表,找到代码,找到相应的链接,理论上应该是带回该链接,然后打开它 这就是问题所在。它根本不起作用。我不知道这是html页面的问题,还是脚本的问题,但我不知道 我对PHP(我用于查询脚

好的,我正在制作这个网站(有点像bitly或goo.gl),在这里你输入一个链接,它会缩短它,但会有一些额外的好处。
现在我正在托管一个本地mysql服务器进行测试,按照它的设置方式,一旦输入一个要缩短的链接,就会生成一个随机的3位数代码,并将其与链接一起放入mysql表中

当您在站点上输入代码时,它会转到mysql表,找到代码,找到相应的链接,理论上应该是带回该链接,然后打开它

这就是问题所在。它根本不起作用。我不知道这是html页面的问题,还是脚本的问题,但我不知道

我对PHP(我用于查询脚本的语言)不是很有经验,所以我不知道如何进行故障排除

我希望这里有人能提供一些见解,解释为什么它可能不起作用。
我只知道当我点击“Go”按钮时,它会打开php代码而不是运行它,我不知道如何修复它

因为我不知道到底是什么问题,这里是html和php代码

HTML: (为了方便起见,只脱光了衣服,其他地方没有什么有趣的东西)


PHP:


您的代码中存在语法错误,请在php中使用点表示,并在查询时使用mysqli对象而不是mysql

$result = mysqli_query($conn, "SELECT id, nimblecode, urlredirect, messageredirect     FROM linker WHERE nimblecode = '" . $var . "'");
完整代码更改:以“tinyurl.php”的名称存储此文件 <?php $servername = "localhost"; $username = "nimbleadmin";
$password = "admin";
$dbname = "nimble";
$var = $_GET['var'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = $conn->query("SELECT id, nimblecode, urlredirect, messageredirect FROM linker WHERE nimblecode = '%s', $var);
if (!$result) {
echo 'Could not run query: ' . mysql_error(); exit;
}
if ($result->num_rows > 0) { $row = $result->fetch_assoc();
echo "id: " . $row["nimblecode"]. " //// URL: " . $row["urlredirect"]. "
//// Message: " . $row["messageredirect"]. "
";
} if ($row["messageredirect"] == "") {
header('Location: ' . $row["urlredirect"]);
} else if ($row["nimblecode"] != "") {
header('Location: http://nic.x10.mx/message?' . $row["nimblecode"]);
} else { header('Location: http://nic.x10.mx/'); } $conn->close(); ?>

如果您不能运行PHP代码,那么检查Apache的HTTPD.CONF文件是否有PHP MIME类型未注释,此外还有其他事情要考虑。检查此项

您是否安装了php并配置了Apache(或您正在使用的任何Web服务器)以正确运行php文件?它们还没有从Web服务器上运行,而只是通过thr浏览器在本地进行测试,而只是在开发过程中简化了流程。如果在本地运行,我将如何安装它们?为了在本地运行php文件,您需要安装一个Web服务器,比如wamp或xampp,它将apache、php、mysql捆绑在一起。我理解Darren,我只是让一切正常工作,即使代码非常混乱。一旦它正常工作,我将清理代码并修复任何bug。谢谢Alex,我会尝试的!所以我已经实现了这段代码,一切似乎都很正常,除了在php文件页面上出现http 500错误。你知道为什么现在会发生这种情况吗?检查error.log文件,它会详细地告诉你错误。基于此,您可以修复它。
$result = mysqli_query($conn, "SELECT id, nimblecode, urlredirect, messageredirect     FROM linker WHERE nimblecode = '" . $var . "'");
<?php $servername = "localhost"; $username = "nimbleadmin";
$password = "admin";
$dbname = "nimble";
$var = $_GET['var'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = $conn->query("SELECT id, nimblecode, urlredirect, messageredirect FROM linker WHERE nimblecode = '%s', $var);
if (!$result) {
echo 'Could not run query: ' . mysql_error(); exit;
}
if ($result->num_rows > 0) { $row = $result->fetch_assoc();
echo "id: " . $row["nimblecode"]. " //// URL: " . $row["urlredirect"]. "
//// Message: " . $row["messageredirect"]. "
";
} if ($row["messageredirect"] == "") {
header('Location: ' . $row["urlredirect"]);
} else if ($row["nimblecode"] != "") {
header('Location: http://nic.x10.mx/message?' . $row["nimblecode"]);
} else { header('Location: http://nic.x10.mx/'); } $conn->close(); ?> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/?$ http://nic.x10.mx/tinyurl.php?var=$1 [QSA,NC,L]