繁体   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