ОтветНеприятности с SQL Query с помощью CodeIgniter
* $ this-> db-> набор ('page_routes', 'PageId', $ NEWID); *
Должно быть
$ this-> db-> update ('page_routes', array ('pageid' => $ newid));
Я пытаюсь создать страницу, на которой вы можете отправить форму, и она обновляет значения в зависимости от того, что вы выбираете, я не вижу, что я делаю неправильно, но в какой-то момент я думаю, что ошибаюсь в отношении команды MySQL.
Идея заключается в том, что вы выбираете страницу (дружественное имя) в верхней опции-select, а внизу вы устанавливаете ID в значение другого идентификатора страницы.
Эффект, который он должен достичь, заключается в том, что пользователь может изменить изменение содержания, которое отображается на определенной странице.
Вопрос: По возвращению запроса, обновление работает, но ничего не изменилось в моей таблице page_routes
мой взгляд, значения берутся из базы данных, они заселяют правильно.
<form class="form-horizontal" action="<?php echo site_url('/view/updatepageid'); ?>" method="post">
<fieldset>
<!-- Form Name -->
<legend>Form Name</legend>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label" for="friendly_name">Page</label>
<div class="controls">
<select id="friendlyname" name="friendlyname" class="input-xlarge">
<?php foreach($pageroutes as $key): ?>
<option value="<?php echo $key['friendly_name']; ?>"><?php echo $key['friendly_name']; ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label" for="selectbasic">Change to:</label>
<div class="controls">
<select onchange="this.form.submit();" id="newid" name="newid">
<?php foreach($page_data as $key): ?>
<option value="<?php echo $key['id']; ?>"><?php echo $key['pagetitle']; ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
</fieldset>
</form>
Что представляет сюда
function updatepageid(){
$this->load->model('view_model');
$friendlyname = $this->input->post('friendlyname');
$newid = $this->input->post('newid');
$query = $this->view_model->setpageid($friendlyname, $newid);
if($query == TRUE){
echo 'updated';
}else { echo 'failed'; }
var_dump($query);
}
и моя модель view_model setpageid функцию
function setpageid($friendlyname, $newid){
$this->db->where('friendly_name', $friendlyname);
$query = $this->db->set('page_routes','pageid', $newid);
return $query;
}
Если я var_dump ($ запроса) он возвращает
Object(CI_DB_mysql_driver)[14]
public 'dbdriver' => string 'mysql' (length=5)
public '_escape_char' => string '`' (length=1)
public '_like_escape_str' => string '' (length=0)
public '_like_escape_chr' => string '' (length=0)
public 'delete_hack' => boolean true
public '_count_string' => string 'SELECT COUNT(*) AS ' (length=19)
public '_random_keyword' => string ' RAND()' (length=7)
public 'use_set_names' => boolean false
public 'ar_select' =>
array (size=0)
empty
public 'ar_distinct' => boolean false
public 'ar_from' =>
array (size=0)
empty
public 'ar_join' =>
array (size=0)
empty
public 'ar_where' =>
array (size=1)
0 => string '`friendly_name` = 'aboutus'' (length=28)
public 'ar_like' =>
array (size=0)
empty
public 'ar_groupby' =>
array (size=0)
empty
public 'ar_having' =>
array (size=0)
empty
public 'ar_keys' =>
array (size=0)
empty
public 'ar_limit' => boolean false
public 'ar_offset' => boolean false
public 'ar_order' => boolean false
public 'ar_orderby' =>
array (size=0)
empty
public 'ar_set' =>
array (size=1)
'`page_routes`' => string ''pageid'' (length=8)
public 'ar_wherein' =>
array (size=0)
empty
public 'ar_aliased_tables' =>
array (size=0)
empty
public 'ar_store_array' =>
array (size=0)
empty
public 'ar_caching' => boolean false
public 'ar_cache_exists' =>
array (size=0)
empty
public 'ar_cache_select' =>
array (size=0)
empty
public 'ar_cache_from' =>
array (size=0)
empty
public 'ar_cache_join' =>
array (size=0)
empty
public 'ar_cache_where' =>
array (size=0)
empty
public 'ar_cache_like' =>
array (size=0)
empty
public 'ar_cache_groupby' =>
array (size=0)
empty
public 'ar_cache_having' =>
array (size=0)
empty
public 'ar_cache_orderby' =>
array (size=0)
empty
public 'ar_cache_set' =>
array (size=0)
empty
public 'ar_no_escape' =>
array (size=0)
empty
public 'ar_cache_no_escape' =>
array (size=0)
empty
public 'username' => string 'root' (length=4)
public 'password' => string '' (length=0)
public 'hostname' => string 'localhost' (length=9)
public 'database' => string 'cms' (length=3)
public 'dbprefix' => string '' (length=0)
public 'char_set' => string 'utf8' (length=4)
public 'dbcollat' => string 'utf8_general_ci' (length=15)
public 'autoinit' => boolean true
public 'swap_pre' => string '' (length=0)
public 'port' => string '' (length=0)
public 'pconnect' => boolean true
public 'conn_id' => resource(50, mysql link persistent)
public 'result_id' => resource(57, mysql result)
public 'db_debug' => boolean true
public 'benchmark' => float 0.00099992752075195
public 'query_count' => int 1
public 'bind_marker' => string '?' (length=1)
public 'save_queries' => boolean true
public 'queries' =>
array (size=1)
0 => string 'SELECT *
FROM (`sessions`)
WHERE `session_id` = '93072e3813e9ac20216c8cf6affc1d1b'
AND `user_agent` = 'Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0'' (length=171)
public 'query_times' =>
array (size=1)
0 => float 0.00099992752075195
public 'data_cache' =>
array (size=0)
empty
public 'trans_enabled' => boolean true
public 'trans_strict' => boolean true
public '_trans_depth' => int 0
public '_trans_status' => boolean true
public 'cache_on' => boolean false
public 'cachedir' => string '' (length=0)
public 'cache_autodel' => boolean false
public 'CACHE' => null
public '_protect_identifiers' => boolean true
public '_reserved_identifiers' =>
array (size=1)
0 => string '*' (length=1)
public 'stmt_id' => null
public 'curs_id' => null
public 'limit_used' => null
public 'stricton' => boolean false
Если я пропустил что-либо, что имеет отношение к помощи при стрельбе, сообщите мне, Спасибо за ваше время, я считаю, что это простое, что я пропал без вести, так как я сам преподаю, и мое понимание не является полным Я бы хотел, чтобы это было.
Привет, спасибо Фил, да, это было $ this-> db-> update ('page_routes', array ('pageid' => $ newid)); синтаксис Я ошибался, используя ваш, он работает по назначению, var_dump'ing запроса $ должен был попытаться выяснить, что я делаю неправильно, и не имеет никакого отношения к тому, чего я пытаюсь достичь, извините за путаницу! Принят, когда это позволит мне :). – Pheonix2105
Рад, что это сработало :) –