Datentypen Problem

01/09/2012 21:44 iLogix'.#1
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Operandentypkollision: int ist inkompatibel mit text, SQL state 22005 in SQLExecDirect in

wo is des problem? wo soll des int sein, und wo text, inner DB hab ich alles drin von dem... weiß nich wie genau ich des machn soll :x
01/09/2012 23:59 Che#2
"int ist inkompatibel mit text" steht doch schon alles drin!
Konvertier vorher das ganze in den richtigen Datentyp, dann klappts. Der Auszug ausm Source würde auch helfen dir genauere Informationen zu geben, die Fehlermeldung allein reicht nml nicht um dir genau zu sagen was schief geht.
01/10/2012 01:04 Fratyr#3
einfach ausgedrückt, du versuchst einen Text in ein Feld zu schreiben das nur Zahlen erlaubt wenn ich mich nicht
täusche.
01/10/2012 06:54 iLogix'.#4
PHP Code:
<?php include('./inc/header.php'); ?>
<?php
        
if(!isset($_POST['news'])) $_POST['news'] = '';
        
        
odbc_exec($mssql'USE [WEBSITE_DBF]');

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


                echo 
'</div>';
            } else {
 
odbc_exec($mssql'INSERT INTO [dbo].[web_news] (nid, title, text, category, author, datetime, views) VALUES (0, 0, 0, 1, 0, 0, 0)');
            
            }
        
    
?>
    <form method="post">
        <table>
            <tr>
                <td>Titel:</td>
                <td><input type="varchar(50)" name="news_title" maxlength="10" /></td>
            </tr>
            <tr>
                <td>Text:</td>
                <td><input type="text" name="news_text" maxlength="11" /></td>
            </tr>
                        <tr>
                <td>Cagegory (bitte 1 eintragen):</td>
              <td><input type="int" name="news_category" maxlength="10" /></td>
            </tr>  
            <tr>
                <td>Author:</td>
                <td><input type="varchar(50)" name="news_author" /></td>
            </tr>
            <tr>
                <td>Datetime:</td>
                <td><input type="datetime" name="news_datetime" /></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" name="news_submit" value="Absenden" /></td>
            </tr>
        </table>
    </form>
</div>
auszug der admin.php
[Only registered and activated users can see links. Click Here To Register...] meine admin php mit dme fehler

Kopie aus der DB
PHP Code:
INSERT INTO [WEBSITE_DBF].[dbo].[web_news]
           ([
title]
           ,[
text]
           ,[
category]
           ,[
author]
           ,[
datetime]
           ,[
views])
     
VALUES
           
(<titlevarchar(50),>
           ,<
texttext,>
           ,<
categoryint,>
           ,<
authorvarchar(50),>
           ,<
datetimedatetime,>
           ,<
viewsint,>)
GO 
01/10/2012 13:26 Che#5
Quote:
Originally Posted by Sponlogix View Post
<text, text,>
Warum verwendest du hier nicht den Datentyp varchar?
01/10/2012 18:25 PseudoPsycho#6
Code:
<category, int,>
Der Fehler liegt aber hier: Wenn die Leute selbst den Namen der Kategorie schreiben können, dann muss hier statt "int" entweder "varchar" oder "text" hin...
01/10/2012 20:04 iLogix'.#7
category muss ne zahl sein. das is denke schon richtig
aber
Titel, Text, Author soll man selber reinschreiben,. dann soll er das inne db reinschreiben... aber da harkst nen bisl
ich glaube es hängt an den values
01/10/2012 21:15 PseudoPsycho#8
Quote:
Originally Posted by Sponlogix View Post
category muss ne zahl sein. das is denke schon richtig
aber
Titel, Text, Author soll man selber reinschreiben,. dann soll er das inne db reinschreiben... aber da harkst nen bisl
ich glaube es hängt an den values
Schau dir doch mal den HTML-Code an!
- Die einzigen INT's (an denen es definitiv liegt) sind category und views.
Und für "category" ist im HTML-Code ein Input-Feld, in das der Nutzer etwas schreiben kann... Ist doch völlig eindeutig, woran es liegt...?
01/10/2012 23:40 iLogix'.#9
wie isn der befehl für nen auswahl kasten..?