私はfinnaly解決策を見つけたの代わりに、(私のodbc_execに送る)がSELECT * FROM MyTable
のようなクエリ機能、私はこの関数を作っ:
$SQLCodePrep = "SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'MyTable'";
$result=odbc_exec($conn, $SQLCodePrep);
$ColumnList = QueryPrompter::InsertIntoArray($result);
# This function take as argument the result of a query and put each row in an array, and each of these arrays in a bigger array (wich represent the table)
$SQLCode = "SELECT ";
for ($i=0; $i<count($ColumnList); $i++)
{
if (in_array($ColumnList[$i][1], $DefaultArray = array('ntext', 'text', 'image')) OR (in_array($ColumnList[$i][1], $DefaultArray = array('nvarchar', 'varchar')) AND $ColumnList[$i][2] == '-1'))
{
$Column = "RTRIM(CAST(".$ColumnList[$i][0]." AS VARCHAR(8000))) AS '".$ColumnList[$i][0]."'";
}
else
{
$Column = $ColumnList[$i][0];
}
if($i < count($ColumnList)-1)
{
$Column .= ", ";
}
$SQLCode .= $Column;
}
$SQLCode .= " FROM MyTable";
私たちが行うために使用し、すべてがとして働いてその後、我々は$result=odbc_exec($conn, $SQLCode);
を行うことができます私は欲しかった
'ntext_field'は推奨されません。 'nvarchar(max)'に変更してやり直してください。 – gotqn