ошибка pg_num_rows - PullRequest
       6

ошибка pg_num_rows

0 голосов
/ 15 августа 2011

у меня есть ошибка в моем коде

) Fatal error: Call to undefined function pg_num_rows() in C:\QG\www\medical-clinic\manip\updateProduit.php on line 49
Call Stack
#   Time    Memory  Function    Location
1   0.0019  386752  {main}( )   ..\updateProduit.php:0

Я использую PHP5 MYSQL Вот мой оригинальный код, я не знаю, почему он не говорит:

//VERIFICATION SI PRODUIT EXISTE
$query = "
        SELECT  `panier`.`idProduit`
        FROM `panier`, `produit`
        WHERE `Produit`.`nom` = '$nom'
        AND `panier`.`idPanier` = ".$_SESSION["tempPanierSpec"]."
        AND `produit`.`idProduit` =  AND `panier`.`idProduit` 
        ";
$result = mysql_query($query);
$numRows = pg_num_rows($result);  //NOMBRE DE ROW (DONNEES) DANS LA REPONSE

//SI N'EXISTE PAS
if($numRows == 0){
    mysql_query("SELECT `produit`.`idProduit` FROM `produit` WHERE `produit`.`nom` = '$nom'");
    while($row = mysql_fetch_array($result)){ $_SESSION["tempIdProd"] = $row["idProduit"]; }//WHILE
    mysql_query("INSERT INTO Panier (idPanier, idProduit, qte)
    VALUES ('".$_SESSION["panierSpec"]."', '".$_SESSION["tempIdProd"]."', '$qte')");
}
//SI EXISTE
else{

    while($row = mysql_fetch_array($result)){ $_SESSON["tempIdProd"] = $row["idProduit"];}
    $query = "
            UPDATE `panier` 
            SET `panier`.`qte` = `panier`.`qte` + $qte 
            WHERE `panier`.`idPanier` = '".$_SESSION["tempPanierSpec"]."'
            AND `panier`.`idProduit` = ". $_SESSION["tempidProd"];
    mysql_query($query);
}       

Спасибо всем

Ответы [ 4 ]

5 голосов
/ 15 августа 2011

Вам нужно использовать mysql_num_rows($result) - pg_num_rows($result) только для PostreSQL, отсюда и название.

3 голосов
/ 15 августа 2011

pg_num_rows для postgres, чтобы исправить это, вы можете изменить на mysql_num_rows

imho, чтобы ответить на другие вопросы

  • ваш сервер не настроен / не установлен с модулем postgres
  • на основании вашего последнего комментария, если кажется, что вы передаете неверный SQL
0 голосов
/ 15 августа 2011

pg_num_rows - это функция, которая берет ресурс PostgreSQL и выводит количество строк, связанных с ним. Для этого требуются драйверы PostgreSQL для PHP, которые изначально не включаются при большинстве простых установок WAMP. Многие из них, на самом деле, вообще не поставляются с драйверами Postgre.

Другая ваша проблема заключается в том, что вы передаете ресурс MySQL функции Postgre. Это не сработает. Попробуйте mysql_num_rows.

0 голосов
/ 15 августа 2011

pg_num_rows - это функция PostgreSQL, попробуйте вместо нее использовать mysql_num_rows.

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...