我正在制作一个可以轻松共享公共PGP密钥的网站。该网站在后端使用PHP和MySQL,在前端使用JavaScript。该网站在本地主机上运行良好,但我刚刚将其上传到TuxFamily,它不起作用。
我无法找出我的查询的问题所在,因为我无法访问 MySQL 或 PHP 生成的任何错误信息。我只能猜测问题是什么,我有一种感觉是查询......
无论如何,这是代码:
索引.php : http://pastebin.com/TqJryvC2
Inc/PGPshare.class.php : http://pastebin.com/XXMv2PjK
PHP 能够正确创建 MySQL 连接,并且除了 if($user1key = $pgpshare->GetUser1Key($id))
(index.php:14)之外,pgpshare.class.php
中的所有函数似乎都按预期工作。
请帮助我找出为什么这失败了。
提前致谢;)
您应该打印错误,例如带有 $mysqli->error,如果这不起作用,您可以随时添加类似的东西:
$mysqli = new mysqli($1, $2, $3, $4)or die('Connection error: '.$mysqli->error);
$stmt = $mysqli->prepare($sql)or die('Prepare failed: '.$mysqli->error);
$stmt->bind_params($1, $2)or die('Bind_param failed: '.$stmt->error);
即使 mysqli->error 为空,您也始终知道哪个函数失败了。并确保在函数中使用 $stmt->错误(在本例中为 $query->错误)来引用准备函数。
$query->bind_param("SSSS", $id, $key, $user 2key, $ip);
我认为$id是一个交互者,所以使用"i":
$query->bind_param("isss", $id, $key, $user2key, $ip);
- http://php.net/manual/de/mysqli-stmt.bind-param.php
另外,不要忘记通过更改为另一台服务器来更改连接数据(主机,用户,pw,db)。
-介意