簡體   English   中英

從php和mysql保存記錄

[英]Saving a record from php and mysql

我正在嘗試從查詢中保存一些值:

$query = mysqli_query($conex, "SELECT * FROM acceso WHERE usuario = '$user' AND contrasenia = '$pass'");
if (mysqli_num_rows($query) > 0)// mysqli_num_rows > 0
{       
    $fila = mysql_fetch_assoc($query)
    $_SESSION["id_usuario_cms"] = $fila ['idacces'];
    $_SESSION["usuario_cms"] = $fila ['user'];
    echo '<script>location.href = "admin/index.php"</script>';
}

但這不起作用。 有任何想法嗎?

我看到一個潛在的問題和一個明顯的問題。

可能是您是否已開始會話。

session_start(); 必須在所有使用會話的文件中使用; 您的問題中沒有提到。 如果它不屬於您的文件,請添加它。

顯而易見的是,您正在使用mysql_函數與顯示的其余代碼mysqli_ 這些不同的功能不會相互混合。

mysql_fetch_assoc必須與其mysqli_等效, mysqli_fetch_assoc

您應該為此使用mysqli_fetch_array

為了使用mysqli_fetch_assoc ,應該在while循環中設置它。

手冊中的示例:

/* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

如果您想使用mysqli_fetch_array

手冊中的示例:

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

錯誤報告添加到文件頂部,這將有助於發現錯誤。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

mysqli_query()包含or die(mysqli_error($conex)) mysqli_query()

旁注:錯誤報告僅應在登台進行,而不應在生產過程中進行。

您必須同時使用mysqli_fetch_array($ query)和 session_start()

$query = mysqli_query($conex, "SELECT * FROM acceso WHERE usuario = '$user' AND contrasenia = '$pass'");
    if (mysqli_num_rows($query) > 0)// mysqli_num_rows > 0
    {       
        $fila = mysqli_fetch_array($query)
        $_SESSION["id_usuario_cms"] = $fila ['idacces'];
        $_SESSION["usuario_cms"] = $fila ['user'];
        echo '<script>location.href = "admin/index.php"</script>';
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM