MAMP, записи не возвращены - PullRequest
       6

MAMP, записи не возвращены

1 голос
/ 14 ноября 2011

Я открываю проект с прошлого года и решил, что попробую MAMP на новом компьютере, это было круто.

Похоже, что все работает, PHP работает, и я перестроил базу данных в phpMyAdmin.

После добавления некоторых тестовых данных в таблицы я провел простой тест (см. Файлы ниже), но не смог получить что-либо из базы данных.

Когда я загружаю test-basic.php, он говорит: «Подключен к БД. Выбранная база данных. Ничего не найдено = (»

Но я протестировал строку в phpMyAdmin (для базы данных «likeiwassaying»), и она вернула результаты

Я чувствую себя оооочень близко (и бьюсь об этом головой в течение часов ). Я что-то упустил прямо под моим носом?

Любые предложения по устранению неполадок приветствуются,

Justin

*

config.php * 1019

<?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpassword = 'testpassword';
    $dbdatabase = 'likeiwassaying';
    $config_sitename = 'Cully Mail';    
    $config_author = 'jk';
    $config_basedir = 'http://localhost:8888/cullymail/';

    $db = mysql_connect($dbhost, $dbuser, $dbpassword);
    if (!$db) {
        die('Could not connect: ' . mysql_error());
    } else {
        echo 'Connected to db. ';
    }

    $db_selected = mysql_select_db($dbdatabase, $db);
    if (!$db_selected) {
        die ('Can\'t use: ' . mysql_error());
    } else {
        echo 'Selected database. ';
    }

    mysql_close($db);       

?>

тест-basic.php

    require("config.php");

    function test() {
        $q = 'SELECT * FROM contacts;';

        $result = mysql_query($q);
        $numrows = mysql_num_rows($result);


        //If it is found (if any row comes back)...
        if($numrows == 0) {
            echo "Found nothing =(";
        } else {
            echo "found something";
        }

    }

    test();

?>

1 Ответ

2 голосов
/ 14 ноября 2011

Вы закрываете соединение с базой данных перед выполнением функции test(). Вы закрываете соединение в конце config.php, это означает, что к тому времени, когда функция определена в test-basic.php, соединение дБ уже не существует и дальнейшие запросы не будут выполнены.

Обычно вам не нужно явно вызывать mysql_close(), если только у вас нет необходимости рано восстанавливать ресурсы памяти. PHP закроет соединение после завершения скрипта.

$db_selected = mysql_select_db($dbdatabase, $db);
if (!$db_selected) {
    die ('Can\'t use: ' . mysql_error());
} else {
    echo 'Selected database. ';
}

// Everything is good so far. you're ready to execute queries, but...

// Don't do this!!!
mysql_close($db);  
...