我正在尝试按照本教程http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app
我大约在页面的一半验证PHP / MySQL功能并且卡住了。
我刚刚第一次设置了MAMP。 我的MAMP htdocs目录中有两个文件
的index.php
<?php
echo "Hello, PHP!";
?>
promocodes.php
<?php
class RedeemAPI {
private $db;
// Constructor - open DB connection
function __construct() {
$this->db = new mysqli('localhost', 'root', 'root', 'promos');
$this->db->autocommit(FALSE);
}
// Destructor - close DB connection
function __destruct() {
$this->db->close();
}
// Main method to redeem a code
function redeem() {
// Print all codes in database
echo "Hello, PHP!";
$stmt = $this->db->prepare('SELECT id, code, unlock_code, uses_remaining FROM rw_promo_code');
echo "Hello, PHP!";
$stmt->execute();
$stmt->bind_result($id, $code, $unlock_code, $uses_remaining);
while ($stmt->fetch()) {
echo "$code has $uses_remaining uses remaining!";
}
$stmt->close();
}
}
?>
当我去http://localhost:8888/index.php
时,我得到了
“你好,PHP!”;
当我去http://localhost:8889/index.php
时,我得到以下乱码
ħ 5.5.9 G } Se“tHIr ÿ÷ (ja&amp; 7”BfZoB&lt; mysql_native_password! ÿ“#08S01Got包乱序
当我去http://localhost:8888/promocodes.php
时,我得到了
当我去http://localhost:8889/promocodes.php
时,我得到以下乱码
ħ 5.5.9 H x%J'“s @# ÿ÷ -YX0#_89T |50 mysql_native_password! ÿ”#08S01Got包乱序
答案 0 :(得分:0)
如果您的old_password=1
文件中恰好有my.cnf
,您可以尝试将其设置为0
并重置密码。
答案 1 :(得分:0)
发现问题,当我在新的RedeemAPI类中复制时,我删除了实际使用该类的代码。
// This is the first thing that gets called when this page is loaded
// Creates a new instance of the RedeemAPI class and calls the redeem method
$api = new RedeemAPI;
$api->redeem();
答案 2 :(得分:0)
由于stackoverflow的策略不允许我包含太多链接,请将ADDR用于localhost
当你去哪个8889端口号时,你试图直接命中MySQL,你不应该这样做。尝试使用端口8888和此命令:
curl -F "rw_app_id=1" -F "code=test" -F "device_id=test2" ADDR:8888/promos/
或
curl -F "rw_app_id=1" -F "code=test" -F "device_id=test2" ADDR:8888/promocodes
(假设你在promocodes文件夹中有 index.php )
3.请记住,当您尝试使用Web浏览器的导航栏点击服务器时,您会发送GET类型请求。如果您需要替代curl,请尝试使用某些Web浏览器的插件,如“Poster”(专用于FireFox)。
答案 3 :(得分:0)
[ 5.7.20-0ubuntu0.16.04.1UW47HvYÿ÷ÿnfm@*g}
我不确定MySQL中的结构是什么。我以前从未见过这个,但这个页面似乎来自:
/etc/mysql/fabric.cfg
修改配置文件或删除指向主Apache配置的所有链接。