Почему SQLSTATE [HY000]: общая ошибка?

Это код для регистрации руководителя группы, а затем его партнера (ов).

<code><?
session_start();
require_once('db.php');
$db = new DB();
$db->newHead($_POST['fname'], $_POST['lname'], $_POST['school'], $_POST['day'], $_POST['month'], $_POST['year'], $_POST['email']);
$hId = $db->getId($_POST['email'], 1);
if ($_POST['pnum'] === 1)
{
    $db->newPartner($hId, $_POST['fname1'], $_POST['lname1'], $_POST['day1'], $_POST['month1'], $POST['year1'], $_POST['email1']);
    $pId = getId($_POST['email1'], 0);
    $db->setHeadId($hId, $pId, 1);
}
if ($_POST['pnum'] === 2)
{
    $db->newPartner($hId, $_POST['fname1'], $_POST['lname1'], $_POST['day1'], $_POST['month1'], $POST['year1'], $_POST['email1']);
    $p1Id = getId($_POST['email1'], 0);
    $db->setHeadId($hId, $p1Id, 1);

    $db->newPartner($hId, $_POST['fname2'], $_POST['lname2'], $_POST['day2'], $_POST['month2'], $POST['year2'], $_POST['email2']);
    $p2Id = getId($_POST['email2'], 0);
    $db->setHeadId($hId, $p2Id, 2);
}
header("Location:Register.php");
?>
</code>

и это часть db.php:

<code>    public function getId($email, $type)
{
    if ($type)
        $query = "SELECT * FROM t_head where h_email = '$email';";
    else
        $query = "SELECT * FROM t_partner where p_email = '$email';";
    return $this->query($query);
}

public function newPartner($hId, $fname, $lname, $day, $month, $year, $email)
{
    $query = "INSERT INTO t_partner (p_headid, p_fname, p_lname, p_day, p_month, p_year, p_email)
    VALUES ('$hId', '$fname', '$lname', '$day', '$month', '$year', '$email');";
    return $this->query($query);
}

public function newHead($fname, $lname, $hschool, $day, $month, $year, $email)
{
    $query = "INSERT INTO t_head (h_fname, h_lname, h_school, h_day, h_month, h_year, h_email)
    VALUES('$fname', '$lname', '$hschool', '$day', '$month', '$year', '$email');";
    return $this->query($query);
}

    public function setHeadId($hId, $pId, $num)
    {
        if ($num === 1)
            $query = "UPDATE t_head SET h_p1 = '$pId' WHERE h_id = '$hId';";
        else
            $query = "UPDATE t_head SET h_p2 = '$pId' WHERE h_id = '$hId';";
        $this->execute($query);
    }
</code>

В чем проблема? БД - это класс, который работает с PDO. (Я не знаю, что это такое! Но я всегда копирую его, затем пишу функции в нижней части, и оно всегда работает правильно.) Но знаю, что означает эта ошибка?

Excuse me If I pasted all of the code! I don't know SQLSTATE[HY000]: General error is related to which part, so that I couldn't paste any specific part/func for you.

My site copied to another server and the DNS was changed near 3 hours ago for a purpose. If this detail can help you ...

 chepe26318 апр. 2012 г., 00:06
у вас есть хранимая процедура?joeyrivera.com/2009/…
 Karoly Horvath17 апр. 2012 г., 23:42
что такое полное (mysql) сообщение об ошибке?
 Karoly Horvath18 апр. 2012 г., 00:05
 Milad R17 апр. 2012 г., 23:45
Проблема в том, что в сообщении содержится только эта короткая ошибка: SQLSTATE [HY000]: общая ошибка.

Ответы на вопрос(1)

Решение Вопроса

Со мной случилось нечто подобное несколько недель назад. Я исправил это, изменив php.ini

Я изменился

;extension=php_pdo_mysql_mysqlnd.dll
extension=php_pdo_mysql_libmysql.dll

в

extension=php_pdo_mysql_mysqlnd.dll
;extension=php_pdo_mysql_libmysql.dll

в основном вы меняете драйвер php для mysql. Я использовал xampplite 1.7

 17 апр. 2012 г., 23:43
Я забыл упомянуть об этом.
 17 апр. 2012 г., 23:52
Вы могли бы взглянуть на это, если вы решили пойти по этим направлениям ..uk3.php.net/dl
 Milad R18 апр. 2012 г., 00:01
Я пробовал это, но это не работает:if (!extension_loaded('php_pdo_mysql_mysqlnd')) { dl('php_pdo_mysql_mysqlnd.dll'); } if (!extension_loaded('php_pdo_mysql_libmysql')) { dl('php_pdo_mysql_libmysql.dll'); }
 17 апр. 2012 г., 23:42
Обязательно перезапустите сервер при внесении изменений в php.ini
 Milad R17 апр. 2012 г., 23:43
Есть большая проблема! Мой хост не мой собственный сервер (не отдельный сервер! Share server!)! Поэтому я думаю, что у меня нет доступа к php.ini.

Ваш ответ на вопрос