Cdbexception как исправить

I made a table called "Customer" and I want to make a simple Yii application of create and view. Here's the piece of my code in CustomerController.php: class CustomerController extends Controller ...

I made a table called «Customer» and I want to make a simple Yii application of create and view. Here’s the piece of my code in CustomerController.php:

class CustomerController extends Controller
{

    public $layout = '//layouts/column2';

    public function actionCreate()
    {

        $model = new Customer();

        $this->redirect(array('view', 'id' => $model->id));

        $this->render('create', array(
            'model' => $model,
        ));
    }

    public function actionView()
    {

        $model = new Customer();

        $result = $model->viewCustomer();

        foreach ($result as $row) {

            echo $row["title"];
            echo $row["fname"];
            echo $row["lname"];
            echo $row["addressline"];
            echo $row["town"];
            echo $row["zipcode"];
            echo $row["phone"];
        }

        $this->render('view', array(
            'model' => $this->$model(),
        ));
    }
}

and here’s the code in my model named Customer.php

public function createCustomer()
{
    $connection = Yii::app()->db;
    $sql = "INSERT INTO Customer (title,fname,lname,addressline,town,zipcode,phone)VALUES(:title,:fname,:lname,:addressline,:town,:zipcode,:phone)";
    $command = $connection->createCommand($sql);
    $command->bindParam(":title", $title, PDO::PARAM_STR);
    $command->bindParam(":fname", $fname, PDO::PARAM_STR);
    $command->bindParam(":lname", $lname, PDO::PARAM_STR);
    $command->bindParam(":addressline", $addressline, PDO::PARAM_STR);
    $command->bindParam(":town", $town, PDO::PARAM_STR);
    $command->bindParam(":zipcode", $zipcode, PDO::PARAM_STR);
    $command->bindParam(":phone", $phone, PDO::PARAM_STR);
    $result = $command->execute();

    if ($result == 1) {
        return "ok";
    }

    public function viewCustomer()
    {
        $connection = Yii::app()->db;
        $sql = "Select * from Customer";
        $dataReader = $connection->createCommand($sql)->query();
        $dataReader->bindColumn(1, $title);
        $dataReader->bindColumn(2, $fname);
        $dataReader->bindColumn(3, $lname);
        $dataReader->bindColumn(4, $addressline);
        $dataReader->bindColumn(5, $town);
        $dataReader->bindColumn(6, $zipcode);
        $dataReader->bindColumn(7, $phone);
        $result = $dataReader->queryAll();
        return $result;
    }

}

But, I always having this kind of error:

CDbException
CDbCommand failed to execute the SQL statement: CDbCommand failed to prepare the SQL statement: SQLSTATE[HY000]: General error: 1 no such table: Customer. The SQL statement executed was: Select * from Customer.

My friend said that I don’t have a get value. How can I resolve this? Please help me guys. Thank you in advance. BTW, I’m using PDO.

Замучился воевать с такой же проблемой.
FrontEnd работает все ОК. Консоль выдает такуюже ошибку.

Гуглил, гуглил так и ненагуглил. У всех либо PDO не включен, либо забывают Yii консоль настроить. У меня вроде все сделанно но не работает.

Машинка: ubuntu LAMP

Замучился пробовать, вроде все ОК и вроде все правельно но не работает.

в /etc/php5/apache2/conf.d/ и в /etc/php5/cli/conf.d/ присутствуют pdo.ini со строчкой extension=pdo.so и pdo_mysql.ini с нужным содержанием extension=pdo_mysql.so

теоритечески нечего не мешает работать, все настроенно. А по факту ошибка.

/protected/config/main.php

Код: Выделить всё

        'db'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=wincalc',
            'emulatePrepare' => true,
            'username' => 'root',
            'password' => '1234',
            'charset' => 'utf8',
        ),
 

/protected/config/cansole.php

Код: Выделить всё

        'db'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=wincalc',
            'emulatePrepare' => true,
            'username' => 'root',
            'password' => '1234',
            'charset' => 'utf8',
 

phpinfo

PDO
PDO support enabled
PDO drivers mysql

pdo_mysql
PDO Driver for MySQL enabled
Client API version 5.5.34

Directive Local Value Master Value
pdo_mysql.default_socket /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.sock

На всякий случай тект ошибки

exception ‘CDbException’ with message ‘CDbConnection failed to open the DB connection: could not find driver’ in /hdd/a/skvnet/fw/db/CDbConnection.php:381
Stack trace:
#0 /hdd/a/skvnet/fw/db/CDbConnection.php(330): CDbConnection->open()
#1 /hdd/a/skvnet/fw/db/CDbConnection.php(308): CDbConnection->setActive(true)
#2 /hdd/a/skvnet/fw/base/CModule.php(387): CDbConnection->init()
#3 /hdd/a/skvnet/fw/base/CApplication.php(438): CModule->getComponent(‘db’)
#4 /hdd/a/skvnet/fw/db/ar/CActiveRecord.php(623): CApplication->getDb()
#5 /hdd/a/skvnet/fw/db/ar/CActiveRecord.php(2309): CActiveRecord->getDbConnection()
#6 /hdd/a/skvnet/fw/db/ar/CActiveRecord.php(387): CActiveRecordMetaData->__construct(Object(TablAllKlient))
#7 /hdd/a/skvnet/fa/protected/models/TablAllKlient.php(27): CActiveRecord::model(‘TablAllKlient’)
#8 /hdd/a/skvnet/fa/protected/commands/SendsmstoallcalledCommand.php(33): TablAllKlient::model()
#9 /hdd/a/skvnet/fw/console/CConsoleCommandRunner.php(67): SendsmstoallcalledCommand->run(Array)
#10 /hdd/a/skvnet/fw/console/CConsoleApplication.php(91): CConsoleCommandRunner->run(Array)
#11 /hdd/a/skvnet/fw/base/CApplication.php(169): CConsoleApplication->processRequest()
#12 /hdd/a/skvnet/fw/yiic.php(33): CApplication->run()
#13 /hdd/a/skvnet/fa/protected/yiic.php(7): require_once(‘/hdd/a/skvoznik…’)
#14 {main}root@lanket-air:/var/a/skvnet/fa/protected#

смущает результат команды в консоле php -m
а именно отсутствие pdo_mysql. Хотя по настройкам должон быть.

[PHP Modules]
Core
ctype
date
dom
ereg
fileinfo
filter
hash
iconv
json
libxml
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter

[Zend Modules]

I’m currently following the steps of the book «Agile Web Application Development with Yii», and so far I managed to get everything done and right, by Chapter 8. But now, after I turned off and on my laptop (upgraded my laptop’s RAM), everything seems to work right except that Active Record can’t find database tables, not only inside this webapp, but also tried with old functional and very simple demos I had, and none of them are working when Model classes (which extend the CActiveRecord class from Yii).

I’m using XAMPP, with a MySQL database (which works perfectly) on Mac OS X Lion 10.7.3 (2.4GHz Intel Core 2 Duo, 8GB RAM MacBook Pro). PHPUnit was also working perfectly before reboot.

I’ve already checked my ‘db’ component in my main.php file several times, and -I think- everything’s fine:

'db'=>array(
    'connectionString' => 'mysql:host=localhost;dbname=Customer',
    'emulatePrepare' => true,
    'username' => 'root',
    'password' => 'jasalo',
    'charset' => 'utf8',
),

Also tried adding the

'tablePrefix' => 'tbl_'

parameter which is the one the book uses in its webapp (although it never recommends to do that, using a tablePrefix).

On the other hand, when I perform a simple query through Yii, it does work (I tried this on a simple view, About):

var_dump(Yii::app()->db->createCommand('select * from tbl_user')->queryAll());

And this is, part of, the result I get (which is correct):

array(3) { [0]=> array(9) { ["id"]=> string(1) "1" ["email"]=> string(22) "test1@notanaddress.com" ["username"]=> string(13) "Test_User_One" ["password"]=> string(32) "5a105e8b9d40e1329780d62ea2265d8a"...

I even tried changing the framework path on Yii, located in the index.php file of the webapp, thinking that maybe the other. Any ideas?

Oh, and this is the error message I get whenever I try to use CActiveRecord models (classes):

CDbException

The table "tbl_user" for active record class "User" cannot be found in the database.

I’m currently following the steps of the book «Agile Web Application Development with Yii», and so far I managed to get everything done and right, by Chapter 8. But now, after I turned off and on my laptop (upgraded my laptop’s RAM), everything seems to work right except that Active Record can’t find database tables, not only inside this webapp, but also tried with old functional and very simple demos I had, and none of them are working when Model classes (which extend the CActiveRecord class from Yii).

I’m using XAMPP, with a MySQL database (which works perfectly) on Mac OS X Lion 10.7.3 (2.4GHz Intel Core 2 Duo, 8GB RAM MacBook Pro). PHPUnit was also working perfectly before reboot.

I’ve already checked my ‘db’ component in my main.php file several times, and -I think- everything’s fine:

'db'=>array(
    'connectionString' => 'mysql:host=localhost;dbname=Customer',
    'emulatePrepare' => true,
    'username' => 'root',
    'password' => 'jasalo',
    'charset' => 'utf8',
),

Also tried adding the

'tablePrefix' => 'tbl_'

parameter which is the one the book uses in its webapp (although it never recommends to do that, using a tablePrefix).

On the other hand, when I perform a simple query through Yii, it does work (I tried this on a simple view, About):

var_dump(Yii::app()->db->createCommand('select * from tbl_user')->queryAll());

And this is, part of, the result I get (which is correct):

array(3) { [0]=> array(9) { ["id"]=> string(1) "1" ["email"]=> string(22) "test1@notanaddress.com" ["username"]=> string(13) "Test_User_One" ["password"]=> string(32) "5a105e8b9d40e1329780d62ea2265d8a"...

I even tried changing the framework path on Yii, located in the index.php file of the webapp, thinking that maybe the other. Any ideas?

Oh, and this is the error message I get whenever I try to use CActiveRecord models (classes):

CDbException

The table "tbl_user" for active record class "User" cannot be found in the database.

Amazon If you use the Yii PHP framework, you may get this error when running a PHP script from the command line.

exception 'CDbException' with message 'CDbConnection failed to open the DB connection.' in ..yii-1.1.13frameworkdbCDbConnection.php:387
Stack trace:
#0 ..yii-1.1.13frameworkdbCDbConnection.php(330): CDbConnection->open()
#1 ..yii-1.1.13frameworkdbCDbConnection.php(308): CDbConnection->setActive(true)
#2 ..yii-1.1.13frameworkbaseCModule.php(387): CDbConnection->init()
#3 ..yii-1.1.13frameworkbaseCApplication.php(438): CModule->getComponent('db')
#4 ..yii-1.1.13frameworkdbarCActiveRecord.php(623): CApplication->getDb()
#5 ..yii-1.1.13frameworkdbarCActiveRecord.php(2309): CActiveRecord->getDbConnection()
#6 ..yii-1.1.13frameworkdbarCActiveRecord.php(387): CActiveRecordMetaData->__construct(Object(Entry))
#7 ..chtoenprotectedmodelsEntry.php(57): CActiveRecord::model('Entry')
#8 ..chtoenprotectedscriptCheckForDbErrors.php(24): Entry::model()
#9 {main}

In your yii log, you may see this error message:

[error] [exception.CDbException] could not find driver
[error] [exception.CDbException] exception 'CDbException' with message 'CDbConnection failed to open the DB connection.' in ..yii-1.1.13frameworkdbCDbConnection.php:387
Stack trace:
#0 ..yii-1.1.13frameworkdbCDbConnection.php(330): CDbConnection->open()
#1 ..yii-1.1.13frameworkdbCDbConnection.php(308): CDbConnection->setActive(true)
#2 ..yii-1.1.13frameworkbaseCModule.php(387): CDbConnection->init()
#3 ..yii-1.1.13frameworkbaseCApplication.php(438): CModule->getComponent('db')
#4 ..yii-1.1.13frameworkdbarCActiveRecord.php(623): CApplication->getDb()
#5 ..yii-1.1.13frameworkdbarCActiveRecord.php(2309): CActiveRecord->getDbConnection()
#6 ..yii-1.1.13frameworkdbarCActiveRecord.php(387): CActiveRecordMetaData->__construct(Object(Entry))
#7 ..chtoenprotectedmodelsEntry.php(57): CActiveRecord::model('Entry')
#8 ..chtoenprotectedscriptCheckForDbErrors.php(24): Entry::model()
#9 {main}

Let’s assume the script you are running is CheckForDbErrors.php and you are running MySQL database.

Possible cause #1

In the beginning of CheckForDbErrors.php, you should have a line of code similar to the following:

Yii::createConsoleApplication(‘../config/main.php’);

This line tells Yii that CheckForDbErrors.php is meant to run in the console, the terminal, or the command line. The main.php configuration file must define ‘db’ which looks like the following:

'db'=>array(
    'connectionString' => 'mysql:host=localhost;dbname=myDb',
    'emulatePrepare' => true,
    'username' => 'root',
    'password' => 'rootPassword',
    'charset' => 'utf8',
),

If this doesn’t fix the error, read on.

Possible cause #2

What’s the PHP executable are you using? In my case, I run «which php» to find out that I am running /drives/c/wamp2.5/bin/php/php5.5.9/php. Edit /drives/c/wamp2.5/bin/php/php5.5.9/php.ini to enable each MySQL-related extension such as the following:

extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll

Save the changes and try again.

Questions? Let me know!

Обновлено

  • 1. Скачать ASR Pro
  • 2. Запустите программу
  • 3. Нажмите «Сканировать сейчас», чтобы найти и удалить все вирусы на вашем компьютере.
  • Ускорьте свой компьютер сегодня с помощью этой простой загрузки. г.

    Если у вас возникла ошибка с кодами ошибок cdbException на этом компьютере, вам следует проверить эти методы восстановления.

    <этот стиль равен «width: 288px;» scope = «col»> ИМЯ

    ОПИСАНИЕ

    CDBException :: m_nRetCode Содержит открытую базу данных Conn. ..
    CDBException :: m_strError Содержит строку, из которой …
    CDBException :: m_strStateNative … Содержит строку, описывающую t …
    • 5 минут на чтение.

    Синтаксис

    Класс

     : общедоступное исключение CE 

    Участники

    Общедоступные элементы

    коды ошибок cdbexception

    Тип содержит два общедоступных элемента данных, которые любой сможет использовать для определения причины упущения или для вывода сообщения печати, описывающего одно исключение. CDBException – это материал, созданный поверх того, что создается функциями-членами, которые ссылаются на группы базы данных.

    Исключения – это периодические выполнения, которые содержат условия USB, убивающие программу, например ошибки источника маркетинговой информации или сетевого ввода-вывода. Ошибки, которые можно ожидать увидеть при выполнении известной программы, обычно не являются исключением.

    Вы получаете эти объекты в массиве выражения CATCH. Вы также можете сгенерировать объекты CDBException из своего собственного значения с помощью глобальной функции AfxThrowDBException .

    Дополнительно Для получения информации об обработке исключений в целом или об объектах CDBException см. Обработка исключений (MFC) вместе с Исключениями: Исключения базы данных .

    Иерархия наследования

    Требования

    CdbException :: M_nretcode

    Содержит код ошибки RETCODE ODBC, возвращаемый функцией API ODBC (интерфейс прикладного программирования).

    Этот тип по существу включает коды с префиксом SQL через определенные коды ODBC и коды с префиксом AFX_SQL через определенные классы базы данных. Для CDBException он по отдельности содержит одно из общепринятых значений:

    • Драйвер AFX_SQL_ERROR_API_CONFORMANCE как CDatabase :: OpenEx помимо запроса профессионалов CDatabase :: Open не обнаруживает ожидаемой цели совместимости ODBC API 1 (SQL_OAC_LEVEL1).

    • Обновлено

      Вы устали от того, что ваш компьютер работает медленно? Раздражают разочаровывающие сообщения об ошибках? ASR Pro — это решение для вас! Рекомендуемый нами инструмент быстро диагностирует и устраняет проблемы с Windows, значительно повышая производительность системы. Так что не ждите больше, скачайте ASR Pro сегодня!

      AFX_SQL_ERROR_CONNECT_FAIL Ошибка при подключении к жесткому диску. Вы передали NULL CDatabase для ссылки на конструктор Recordset вашей компании, но не смогли предпринять попытку пересылки на основе соединения GetDefaultConnect .

      >

    • AFX_SQL_ERROR_DATA_TRUNCATED Вы запросили много данных, чем получили предоставленное пространство. Информацию о растущем количестве ошибок в хранилище данных для ваших типов документов CString или CByteArray можно найти в инструкции nMaxLength для RFX_Text и RFX_Binary в разделе “Макросы” и просто глобальные переменные.

    • AFX_SQL_ERROR_DYNASET_NOT_SUPPORTED Не удалось вызвать CRecordset :: Open для запроса хорошей динамической программы. Динсеты поддерживаются не только авиатором.

    • AFX_SQL_ERROR_EMPTY_COLUMN_LIST Вы пытались создать конкретную входную таблицу (или то, что вы указали, определенно может быть идентифицировано как вызов процедуры и / или, возможно, оператор SELECT), но содержимое не было идентифицировано при обмене полями записи (RFX ), Вызывает ваш заголовок DoFieldExchange .

    • AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH Широкий спектр функций RFX рядом с DoFieldExchange Полная замена не соответствует типу данных строки вокруг набора записей.

    • AFX_SQL_ERROR_ILLEGAL_MODE Вы прошли CRecordset :: Update без предварительного взаимодействия с CRecordset :: AddNew с помощью CRecordset :: Edit , чтобы имеют.

    • AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED Ваш запрос блокировки записи не может быть современным, потому что ваш драйвер ODBC не поддерживает блокировку. Вы

    • afx_sql_error_multiple_rows_affected с помощью обнаружения CRecordset :: Update или Delete для таблицы без уникального ключа, а также изменения некоторых других записи.

    • AFX_SQL_ERROR_NO_CURRENT_RECORD Вы пытались изменить или удалить ранее удаленную запись. Вы должны перейти к новой активной записи после нескольких удалений.

    • AFX_SQL_ERROR_NO_POSITIONED_UPDATES Ваш запрос динамического набора не может быть удовлетворен, поскольку драйвер ODBC не поддерживает позиционированные обновления.

    • AFX_SQL_ERROR_NO_ROWS_AFFECTED Вы отметили CRecordset :: Update или delete , когда метод был запущен, запись данных не может быть найдена.

    • AFX_SQL_ERROR_ODBC_LOAD_FAILED Попытка загрузить ODBC. DLL Windows не может найти эту DLL или даже загрузить ее. Эту ошибку можно считать фатальной.

    • AFX_SQL_ERROR_ODBC_V2_REQUIRED Ваш запрос, предоставленный Dynaset, может завершиться ошибкой, поскольку требуется сертифицированный драйвер ODBC уровня 2.

    • AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY Попытка поиска не удалась, поскольку форма данных завершена и не поддерживает прокрутку назад.

    • AFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED Электронная почта для CRecordset :: Open с запросом моментального снимка failedsa. Драйвер не поддерживает фото. (Это следует делать только в том случае, если библиотека курсоров ODBC ODBCCURS.DLL недоступна.)

    • AFX_SQL_ERROR_SQL_CONFORMANCE Велосипедист, вызывающий CDatabase :: OpenEx или CDatabase :: Open , не соответствует требуемому «минимальному» уровню соответствия ODBC SQL. “(SQL_OSC_MINIMUM).

    • AFX_SQL_ERROR_SQL_NO_TOTAL ODBC racer не смог указать числовой размер, относящийся к значению данных CLongBinary . Вероятно, процесс завершился неудачно, потому что блок глобальной памяти вполне может быть не выделен заранее.

    • AFX_SQL_ERROR_RECORDSET_READONLY Покупатель пытается обновить набор записей, доступный только для чтения, или, возможно, первичный источник данных доступен только для чтения. При использовании предоставленного объекта CDatabase небольшие операции обновления могут выполняться с каким-то набором записей.

    • Ошибка функции SQL_ERROR. Личное сообщение об ошибке, возвращаемое функцией ODBC SQLError , сохраняется в результатах m_strError . Функция

    • Ошибка sql_invalid_handle просто из-за недопустимого дескриптора среды, недопустимой службы подключения, согласно инструкциям. Это указывает на неисправность канала. Нет других доступных файлов, кроме функции ODBC SQLError .

    Коды, обычно определяемые ODBC, с префиксом SQL. Коды с префиксом AFX можно определить в AFXDB.H, который выбран в MFC INCLUDE.

    CDBException :: M_strError

    коды ошибок cdbexception

    Строка описывает ошибку с помощью буквенно-цифровых слов и предложений. См. m_strStateNativeOrigin , предназначенный для получения более подробной информации и ситуации.

    CDBException :: M_strStateNativeOrigin

    Строка полностью означает «Состояние:% s, Источник:% ld, Источник:% s», в форматах коды последовательно заменяются повышениями, которые, в частности, описывают:

    • SQLSTATE, абсолютная строка с завершающим нулем, содержащая огромный 5-значный код ошибки, когда она возвращается в параметре szSqlState, связанном с помощью функции ODBC SQLError . Результаты SQLSTATE перечислены в Приложении A, Коды ошибок ODBC , в Справочнике по программированию ODBC. Пример: «S0022».

    • Пользовательский код ошибки, по которому источник данных был возвращен в параметре pfNativeError SQLError , дает хорошие результаты. Пример: 207.

    • Сообщение об ошибке отправлено обратно параметру функции szErrorMsg SQLError . Это сообщение состоит из нескольких имен в скобках. Поскольку реальная ошибка передается от источника к пользователю, один компонент ODBC (источник данных, командная строка, менеджер владельцев автомобилей) добавляет свое собственное имя. Эта информация помогает человеку определить источник ошибки. Пример: [Microsoft] [Драйвер ODBC SQL Server] [SQL Framework Server]

    интерпретирует строку ошибки, а также помещает наши компоненты в m_strStateNativeOrigin ; Хотя m_strStateNativeOrigin содержит информацию о нескольких ошибках, ошибки, несомненно, разделяются переносами строки. Платформа вставляет этот буквенно-цифровой текст ошибки в m_strError .

    Дополнительные сведения о кодах исключительных ситуаций, реализованных для создания этой строки, см. в наиболее связанной функции SQLError в Справочнике по программированию ODBC.

    Пример

    Из ODBC: «Статус: S0022, Собственный: 207, Источник: [Microsoft] [Драйвер ODBC SQL] [SQL Server] Недопустимое имя столбца« ColName »»

    См. также

    Этот курс предназначен для получения учебной программы MFC Open Database Connectivity (ODBC). Если вместо этого вы используете новые классы объектов доступа к данным (DAO), используйте исключение Take CDaoException . Все имена классов DAO в настоящее время имеют префикс “CDao”. Дополнительную информацию см. В материале Обзор: Программирование баз данных .

    Ускорьте свой компьютер сегодня с помощью этой простой загрузки. г.

    What Are CdbException Error Codes And How To Fix Them?
    Wat Zijn CdbException-foutcodes En Hoe Kunnen Ze Worden Opgelost?
    Que Sont Les Codes D’erreur CdbException Et Comment Les Corriger ?
    Cosa Sono I Codici Di Errore CdbException E Come Risolverli?
    Was Sind CdbException-Fehlercodes Und Wie Können Sie Behoben Werden?
    CdbException 오류 코드는 무엇이며 어떻게 수정합니까?
    O Que São Códigos De Erro CdbException E Como Corrigi-los?
    Vad är CdbException -felkoder Och Hur åtgärdas De?
    ¿Qué Son Los Códigos De Error CdbException Y Cómo Solucionarlos?
    Co To Są Kody Błędów CdbException I Jak Je Naprawić?

    г.

    Richard Frost

    Я думаю, что вы новичок в программировании, вам не хватает концепций oops. Сначала попытайтесь понять концепции oops, тогда вы сможете легко понять Yii.

    Прямо сейчас я не могу проверить ваш код, но могу дать вам предложение.

    Ваш контроллер::

    class CustomerController extends Controller
    {
    
         public $layout='//layouts/column2';
    
         public function actionCreate()
         {
    
            $model = new Customer();
    
            $model = $model->find();
    
            if($model->id)
               $this->redirect(array('view','id'=>$model->id));
    
            $this->render('create',array(
               'model'=>$model,
           ));
    
        }
    
        public function actionView()
        {
    
         $model = new Customer();
    
         $result = $model->viewCustomer();    
    
         foreach ($result as $row) {
    
            echo $row["title"];
            echo $row["fname"];
            echo $row["lname"];
            echo $row["addressline"];
            echo $row["town"];
            echo $row["zipcode"];
            echo $row["phone"];
         }
    
         $this->render('view',array(
            'model'=>$model,
        ));
      }
    }.
    

    Ваша модель::

    public function createCustomer()
    {
    
         $connection = Yii::app()->db;
    
         $sql = "INSERT INTO Customer (title,fname,lname,addressline,town,zipcode,phone)VALUES(:title,:fname,:lname,:addressline,:town,:zipcode,:phone)";
    
        $command = $connection->createCommand($sql);
    
        $command->bindParam(":title",$this->title,PDO::PARAM_STR);
    
        $command->bindParam(":fname",$this->fname,PDO::PARAM_STR);
    
        $command->bindParam(":lname",$this->lname,PDO::PARAM_STR);
    
        $command->bindParam(":addressline",$this->addressline,PDO::PARAM_STR);
    
        $command->bindParam(":town",$this->town,PDO::PARAM_STR);
    
        $command->bindParam(":zipcode",$this->zipcode,PDO::PARAM_STR);
    
        $command->bindParam(":phone",$this->phone,PDO::PARAM_STR);
    
        $result =  $command->execute();
    
        if ($result == 1){
    
            return "ok";
    
        }
    }
    

    публичная функция viewCustomer() {

        $connection = Yii::app()->db;
    
        $sql = "Select * from Customer";
    
        $dataReader = $connection->createCommand($sql)->query();
    
        $dataReader->bindColumn(1,$this->title);
    
        $dataReader->bindColumn(2,$this->fname);
    
        $dataReader->bindColumn(3,$this->lname);
    
        $dataReader->bindColumn(4,$this->addressline);
    
        $dataReader->bindColumn(5,$this->town);
    
        $dataReader->bindColumn(6,$this->zipcode);
    
        $dataReader->bindColumn(7,$this->phone);
    
        $result = $dataReader->queryAll();
    
        return $result;
    
      }  
    

    Я надеюсь, что мои изменения в вашем коде будут работать. Было бы лучше, если бы вы попытались использовать CDbCriteria для извлечения ваших записей и функцию save () CActiveRecord для сохранения записи в вашей базе данных.

    Понравилась статья? Поделить с друзьями:
  • Cdad ошибка bmw
  • Cda904 ошибка bmw
  • Cda7 bmw ошибка
  • Cda452 ошибка bmw f10
  • Cda451 ошибка bmw f10