PHP / MySQL новичок получил пакеты из строя - PullRequest
1 голос
/ 30 марта 2012

Я пытаюсь следовать этому уроку 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, я получаю следующий бред

H��� 5.5.9�G���} Se "tHIr�ÿ ÷ � € ���������� (ja & 7" BfZoB <�mysql_native_password! ��ÿ „# 08S01Получить пакеты не по порядку </p>

когда я иду на http://localhost:8888/promocodes.php я получаю

когда я иду на http://localhost:8889/promocodes.php, я получаю следующий бред

H��� 5.5.9�H���x% J '' s @ # �ÿ ÷ � € ����������-YX0 # _89T | ​​50�mysql_native_password! ��ÿ „# 08S01Получитьпакеты вышли из строя

Ответы [ 4 ]

0 голосов
/ 27 октября 2017

[ 5.7.20-0ubuntu0.16.04.1UW47HvYÿ÷ÿnfm@*g}

Я не уверен, что такое ткань в MySQL. Я никогда не видел этого раньше, но эта страница, кажется, пришла:

/ и т.д. / MySQL / fabric.cfg

Измените файл конфигурации или удалите все ссылки на основную конфигурацию Apache.

0 голосов
/ 31 марта 2012

Обнаружил проблему, когда я скопировал в новый класс 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();
0 голосов
/ 30 июля 2013

Поскольку политика stackoverflow не позволяет мне включать слишком много ссылок, пожалуйста, возьмите ADDR для localhost

  1. Вы не должны вызывать ADDR: 8888 / index.php , но помещать index.php файл в папку Promos и вызывать ADDR: 8888 / promos (в вашем случае это может быть index.php файл внутри папки промокодов, поэтому адрес будет ADDR: 8888 / promocodes )
  2. Когда вы указываете номер порта 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 
    

(при условии, что у вас есть index.php в папке промокодов)
3. Помните, что когда вы пытаетесь подключиться к серверу с помощью панели навигации веб-браузера, вы отправляете запрос типа GET. Если вам нужна альтернатива curl, попробуйте использовать плагин для веб-браузера, например «Плакат» (выделенный для FireFox).

0 голосов
/ 30 марта 2012

Если в вашем файле my.cnf есть old_password=1, вы можете попробовать установить его на 0 и сбросить пароль.

...