0

我正在编写一个 Web 应用程序,但现在我遇到了问题

这是我的database_connect.php

<?php
     $host = 'xy';
     $user = 'xy';
     $pass = 'xy';
     $db = 'xy';

     $dbconnect = mysql_connect($host, $user, $pass) or die("error");
     mysql_select_db($db) or die("error");   
?>

我正在尝试建立与数据库的连接并使用以下代码插入一些数据:

<?
    function addChapter(){
?>

<form method="post" action="">
    <br>
    <input name="chapter" type="text" value="Naslov">
    <br><br>
    <input type="submit" name="submit" value="Potrdi">
</form>

<?php
        if( isset($_POST['submit']) ){
            $chapter = mysql_real_escape_string($_POST['chapter']);

            if( $_GET['stran'] == 'fizika' ){
                $table = 'tblphysics';  
            }else if( $_GET['stran'] == 'kemija' ){
                $table = 'tblchemistry';    
            }   

            $chapter_id_query = mysql_fetch_assoc( mysql_query("SELECT chapter_id FROM ".$table." ORDER BY chapter_id DESC LIMIT 1") );
            $chapter_id = $chapter_id_query['chapter_id'] + 1;  

            if( ($chapter != "") && ($chapter_id != "") ){
                $sql = "INSERT INTO ".$table." (chapter, version, chapter_id) VALUES ('$chapter', '1', '$chapter_id')";

                $neki = mysql_query($sql, $dbconnect) or die("<p class=\"msg warning\">Napaka pri ustvarjanju poglavja.</p>");  

                echo '<p class=\"msg done\">Poglavje uspešno dodano.</p>';
                //mysql_close($dbconnect);
            }
        }

    }
?>

我收到以下错误:

警告:mysql_query():提供的参数不是第 81 行 /home/a4896862/public_html/functions.php 中的有效 MySQL-Link 资源

第 81 行是

$neki = mysql_query($sql, $dbconnect) or die("<p class=\"msg warning\">Napaka pri ustvarjanju poglavja.</p>");  

我知道我应该使用PDOor mysqli,但这只是暂时的,但它需要工作,所以我可以继续

有人知道出了什么问题吗?从数据库读取时没有问题。

4

3 回答 3

0

似乎您没有将您database_connect.php的第二个文件(包含该函数)包含在您的第二个文件中。尝试在之前添加以下行function addChapter()

include 'database_connect.php'; // This is correct if the files are in the same directory...
于 2013-07-28T21:53:04.050 回答
0

尝试删除$dbconnect参数,因为第一个查询在没有它的情况下按预期工作(是吗?)。

$neki = mysql_query($sql) or die('...');

但是,说真的,我怀疑在一些过时的混乱中解决问题会比重新启动 database_connect.php 更快。如果您使用仍然受支持的技术,您将获得更高质量的答案。

于 2013-07-28T22:08:39.140 回答
0

尝试删除第二个参数$dbconnect,因为它可能不在范围内。

没有它可以工作吗?

于 2013-07-28T22:11:30.490 回答