php mySQL查询过程数组循环

标签 php mysql arrays input

我的相同脚本在另一个页面上运行,而同一页面上的其他查询使用相同的连接字符串。出于某种原因,当我运行“已填充”条件时,它说我的连接字符串为空。 “mysql_query() 期望参数 2 是资源,null given in...”然而,如果我运行“filled2”条件,它执行得很好。谁能看到我看不到的东西?

if (isset($_POST['filled'])) {

    function updateRecords($varA,$varB,$varC){
        $updateMyTable = "UPDATE myTable SET colA='$varA', colB=$varB WHERE colC = $varC";
        if (!mysql_query($updateMyTable,$con)) {
            die('Error 1: '. mysql_error());
        } 
    }

    if ( isset( $_POST['inputArray'] ) ) {
        foreach ( $_POST['inputArray'] as $lilVars ) {
            updateRecords($lilVars['inputA'],$lilVars['inputB'],$lilVars['inputC']);
        }
    } 

} elseif (isset($_POST['filled2'])) {

    $sqlAddRecord="INSERT INTO myTable (ColX, ColY, ColZ2) VALUES ($VarX,'$VarY',$VarZ)";
    if (!mysql_query($sqlAddRecord,$con)) {
      die('Error 2: '.mysql_error());
    }

    echo "New Record Added";

}

最佳答案

这是因为您在函数内部使用 $con。您需要在函数定义中包含“global $con”,以使其可用于全局范围内的函数。

function updateRecords(...) {
    global $con;
    ...
}

关于php mySQL查询过程数组循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585771/

相关文章:

php - 如何在 Mysql 和 PHP 中创建 'rising' 或 'What' 的热查询?

javascript - 在表单提交时将客户端 HTML 表数据提取到服务器端 PHP 脚本

php - 在 PHP 构造函数之外初始化变量

php - 更新后如何调整mysql中表行的渲染顺序

c - 如何使用动态分配的任意维数组?

php - 如何将间隔时间保存在数据库中

mysql - Laravel 连接表和连接行

mysql - 如何将 IN 条件与 LEFT OUTER JOIN 和 ON 一起使用

java - 使用 GetPrimitiveArrayCritical 和 Get<PrimitiveType>ArrayRegion 之间的权衡是什么?

python - 按索引访问数组