致命错误:数组回调必须包含索引 0 和 1

问题描述 投票:0回答:2

我收到此错误:

致命错误:数组回调必须在第 53 行的 C:\xampp\htdocs\phpprojects\plapp\worker.php 中包含索引 0 和 1

我该如何解决这个问题?我在这里做的事情有什么问题吗?

$results = mysql_query("SELECT asin_link FROM work WHERE email=$w_email");
      while($row = mysql_fetch_array($result)) {
      $work_link = $row['asin_link'];
      echo '<a href="'.$work_link.'" target="'.$work_link.'">Visit Work link<br></a>';
      echo '<form action="" method="post">
        ASIN Number: <input type="text" name="asin"><br>
        <input type="submit" value="Submit" name="submit">
      </form>';}
      if (isset($_POST['submit'])) {
        $asin = $_POST('asin');
        $qu ="INSERT INTO work (asin, email, asin_link) VALUES ('$asin', '$w_email','$work_link')";
        if (mysql_query($qu)) {
        echo "Your ASIN was received! Thanks";
      }
      }
php mysql
2个回答
56
投票

改变这个

$asin = $_POST('asin');

$asin = $_POST['asin'];

1
投票

发生这种情况是因为您的代码尝试将数组作为函数调用。 (这就是为什么错误称其为数组回调

我知道对于这个问题的任何答案都已经很晚了,但是对于来自谷歌搜索此错误并寻求更多信息的其他人来说,我发布了这个替代语法的示例,它似乎运行 PHP >= 7 :

<?php
    class A {
        static function ech($a) {echo $a;}
        function echa($a) {echo $a;}
    }
    ['A', 'ech']('Test');
    [new A, 'echa']('Test');

是的,看起来数组可以作为函数来调用

© www.soinside.com 2019 - 2024. All rights reserved.