Adatbázis hiba. Sürgős lenne.
2012-02-18T00:37:11+01:00
2012-02-18T13:13:18+01:00
2022-08-16T07:30:32+02:00
xvailar
Sziasztok.

Remélem valaki tud segíteni nekem. Nagyon sürgős és fontos lenne!

Ezeket a hibákat kaptam vissza.

Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'account'. (severity 16) in C:\asdasd\modules\voteaction.php on line 67

Warning: mssql_query() [function.mssql-query]: Query failed in C:\asdasd\modules\voteaction.php on line 67

Warning: mssql_fetch_array() expects parameter 1 to be resource, boolean given in C:\asdasd\modules\voteaction.php on line 68

Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'account'. (severity 16) in C:\asdasd\modules\voteaction.php on line 38

Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'vote_count'. (severity 16) in C:\asdasd\modules\voteaction.php on line 38

Warning: mssql_query() [function.mssql-query]: Query failed in C:\asdasd\modules\voteaction.php on line 38

Fatal error: Call to undefined function mssql_error() in C:\asdasd\modules\voteaction.php on line 40


És itt lenne a script hozzá.


<?php session_start(); include("../modules/include/Config.php"); require_once("../modules/include/sqlConn.php"); require_once("../modules/include/Security.php"); if(!isset($_SESSION['loggedin'])) { header("location:?notLoggedIn"); } else { mssql_select_db($dbName1, $dbConn) or die ("Couln't select database $dbName1"); $userID = $_SESSION['name']; $ip = $_SERVER['REMOTE_ADDR']; $time = time(); $voteid = ($_POST['votenum']); define("VOTE_TIME", "12"); function clean_requests($time) { $query = mssql_query("select * from vote_log"); $i = 0; while($row = mssql_fetch_array($query)) { $i++; $lastvoted = $row['vote_time']; if($time-$lastvoted > VOTE_TIME*3600) { if (!mssql_query( "delete from vote_log where vote_time='$lastvoted'")) { return false; } } } return true; } function vote_entries($userID) { $entries = mssql_query("select * from vote_log where account = '$userID' and vote_count > 1"); if (!$entries ) { die ("Unable to get number of entries: ".mssql_error()); } return mssql_num_rows($entries); } function votenow($votenum) { $url = ""; if($votenum) { switch($votenum) { case 1: $url = "http://www.xtremetop100.com/in.php?site=1132326286"; break; case 2: $url = "http://www.gtop100.com/in.php?site=65608"; break; default: header("location:./../?vote"); break; } } return $url; } if(clean_requests($time)) { $ip = $_SERVER['REMOTE_ADDR']; $voteCount = 0; $query = mssql_query("select * from vote_log where account = '$userID'"); while($row = mssql_fetch_array($query)) { $voteCount = $row['vote_count']; } if ($voteCount <= 0 && vote_entries($userID) == 0) { mssql_query("insert into vote_log (account, ip, vote_time, vote_count) VALUES ('$userID', '$ip', '$time', '1')"); mssql_query("exec CGI.CGI_WebPurchaseSilk 0,'$userID',0,4,0"); header("Location: ".votenow($voteid).""); } else if ($voteCount == 1 && vote_entries($userID) == 0) { mssql_query("update vote_log set vote_count = '2' where ip = '$ip'"); mssql_query("exec CGI.CGI_WebPurchaseSilk 0,'$userID',0,5,0"); header("Location: ".votenow($voteid).""); } else { header("location:./../?alreadyVoted"); } } } ?>

Valami ötlet?
Mutasd a teljes hozzászólást!
Akkor írom itt is...

Ebben nincs vote_count cella, akáthogy is nézem
account van, de int tipusú. Amikor selectel lekérdezed akkor biztos jó, ha "$id" módon, idézőjelek között rendeled hozzá a feltételt? /bár ez nem kéne, hogy hiba legyen, ha számot rendelsz hozzá/ De az igen, hogy nincs vote_count cella, és a selectben benne van.
... $entries = mssql_query("select * from vote_log where account = '$userID' and vote_count > 1"); ...

Elsőnek mindenképp azt mondanám, próbáld ki a vote_count hivatkozásokat mindenhonnan kiszedni a kódból, lehet az a baj, hogy feltételként szerepel a selectben AND-el, és emiatt lehet az egész select elszáll...
Mutasd a teljes hozzászólást!

  • Hello!

    Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'account'. (severity 16) in C:\asdasd\modules\voteaction.php on line 67
    -Nincs "account" nevű cella a db-dben, de szerepel valamelyik sql kérésben

    Warning: mssql_query() [function.mssql-query]: Query failed in C:\asdasd\modules\voteaction.php on line 67
    -Sikertelen sql kérés - az előbbi ok miatt valszeg!

    Warning: mssql_fetch_array() expects parameter 1 to be resource, boolean given in C:\asdasd\modules\voteaction.php on line 68
    - Szerintem ez is amiatt van

    Volt egy olyan kérésed, amiben eolyan cellaértékre hivatkozol, ami nincs a db-ben, így ez a kérés meghiusul.

    Fatal error: Call to undefined function mssql_error() in C:\asdasd\modules\voteaction.php on line 40
    - Nincs ilyen funkció: mssql_error()

    Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'account'. (severity 16) in C:\asdasd\modules\voteaction.php on line 38
    - Szintén nem létező cellanévre hivatkozol

    Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'vote_count'. (severity 16) in C:\asdasd\modules\voteaction.php on line 38
    - és itt is az a baj, nem létező cellanév

    Szerintem nézd össze a kódodat a db-vel...

    /tökfilkó/
    Mutasd a teljes hozzászólást!
  • Amúgy ez a téma mitől MYSQL, ha MSSQL-re panaszkodsz benne?
    Mutasd a teljes hozzászólást!
  • Hát ezzel az a gond hogy a vote_count bent van... Szóval nem értem miért nem találja... Valami javaslat? Az után át nézném a teljes adatbázist...
    Mutasd a teljes hozzászólást!
  • dobsz be ide egy db szerkezetet? adat nem kell belőle, csak tábla szerkezet mentés... ha nem titkos...
    Mutasd a teljes hozzászólást!
  • Siettem... mert tényleg nagyon fontos lenne. Azért MYSQL MYSSQL helyett.
    Mutasd a teljes hozzászólást!
  • Hibakezelésre ezt használd: http://hu2.php.net/manual/en/function.mssql-get-last-message.php
    Mutasd a teljes hozzászólást!
  • ott ahol teszteled lehet nincs aktiválva az mssql modul?
    Próbáld meg beindítani.

    Remélem valaki tud segíteni nekem. Nagyon sürgős és fontos lenne!

    ha olyan sürgős állás munka rovatba tedd, és egyből megoldja valaki, más esetben kerüld a kérdezők 'push'-olását.
    Mutasd a teljes hozzászólást!
  • Fuss neki mégegyszer: MySql vagy MS SQL?
    Mutasd a teljes hozzászólást!
  • ...akarom mondani válaszolók...
    Mutasd a teljes hozzászólást!
  • Tökfilkó már megmondta neki a helyes a választ a hibára. Ehhez csak pici angol tudás kell szerintem.
    Ha még mindig gondja van vele, akkor az valami eredendő bambaságból fakadhat. Pl. nem ugyanazt az adatbázist nézi, amit a phpval kezel, vagy case sensitive gond, vagy valami szemét került a mező nevébe, bár azt nem tudom, hogy mssql mezőnevek case sensitivek e, és engedi-e pl, hogy szóköz kerüljön a mezőnév végére/elejére.
    Mutasd a teljes hozzászólást!
  • Ne haragudjatok hogy rosszul választottam témát. MS SQL-hez kellene a segítség. djjjozsi a dolgokat töltöttem. Azt írták hogy fixálva van elvileg működnie kellene...
    -Nincs "account" nevű cella a db-dben, de szerepel valamelyik sql kérésben


    Pedig benne van... Mint ahogy a többi is. Ezért idegesít hogy miért nem működik.

    ott ahol teszteled lehet nincs aktiválva az mssql modul?
    Próbáld meg beindítani.


    Ezt nem igazán értem... Hogy gondolod a beindítást?
    Mutasd a teljes hozzászólást!
  • Idézet magamtól:
    "dobsz be ide egy db szerkezetet? adat nem kell belőle, csak tábla szerkezet mentés... ha nem titkos..."
    Mutasd a teljes hozzászólást!
  • USE [SRO_VT_ACCOUNT]
    GO
    /****** Object: Table [dbo].[vote_log] Script Date: 02/18/2012 00:58:39 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[vote_log](
    [name] [varchar](50) NOT NULL,
    [REMOTE_ADDR] [int] NULL,
    [votenum] [int] NULL,
    [VOTE_TIME] [int] NULL,
    [lastvoted] [smalldatetime] NULL,
    [userID] [varchar](50) NOT NULL,
    [account] [int] NULL
    ) ON [PRIMARY]

    GO
    SET ANSI_PADDING OFF
    Mutasd a teljes hozzászólást!
  • Akkor írom itt is...

    Ebben nincs vote_count cella, akáthogy is nézem
    account van, de int tipusú. Amikor selectel lekérdezed akkor biztos jó, ha "$id" módon, idézőjelek között rendeled hozzá a feltételt? /bár ez nem kéne, hogy hiba legyen, ha számot rendelsz hozzá/ De az igen, hogy nincs vote_count cella, és a selectben benne van.
    ... $entries = mssql_query("select * from vote_log where account = '$userID' and vote_count > 1"); ...

    Elsőnek mindenképp azt mondanám, próbáld ki a vote_count hivatkozásokat mindenhonnan kiszedni a kódból, lehet az a baj, hogy feltételként szerepel a selectben AND-el, és emiatt lehet az egész select elszáll...
    Mutasd a teljes hozzászólást!
abcd