How to insert fetch array properly - arrays

How could I insert a fetch array into this code. I don't get fetcharray.
$ctext = "SELECT tekst FROM members";
if (mysqli_query($conn, $ctext))
{
echo $ctext;
}
else
{
echo "erooroorror";
}
mysqli_close($conn);

$ctext = "SELECT tekst FROM members";
$result = mysqli_query($conn, $ctext);
if ($result) {
while($row = mysqli_fetch_array($result)) {
echo $row['tekst'] . '<br />';
}
} else {
echo "erooroorror";
}

you can insert it by performing batch operation. please check below code, hope it will help you to find the solution
$QueryToMember = mysql_query("SELECT tekst FROM members");
if ($QueryToMember) {
while ($row = mysql_fetch_array($QueryToMember)) {
$Array[] = "('" . $row['tekst'] . "')";
}
if (isset($Array) && count($Array) > 0) {
$InsertString = implode(',', $Array);
$Query = mysql_query("INSERT INTO test1 (tekst) VALUES " . $InsertString);
}
}
else {
echo "erooroorror";
}

Related

How to insert extracted data between td tags into database?

I am trying to insert extracted data between td tags into database(student_information), however I always got no data in the database. Any help is appreciated! Thanks
$matchcount = preg_match_all('/<div class=\"name\">(.*?)<\/div>/s', $data, $matches);
$hostname = "localhost";
$username = "root";
$password = "baekhyun8100";
$databaseName = "student_information";
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
$query = "INSERT INTO student_information";
$result = mysqli_query($connect, $query);
if ($matchcount > 0) {
for ($i = 0; $i < $matchcount; $i++) {
echo("\n" . "\n");
#echo($matches[1][$i]);
echo strip_tags($matches[1][$i], '<div>');
mysqli_query($connect, "INSERT INTO `student_information` (`name`) VALUES ('" . strip_tags($matches[1][$i]) . "');");
}
} else {
echo('No matches');
}

"return" in foreach will only return one set of results, but echo returns all

I have no idea why it will return all the values I'm looking for with echo, but only 1 set with "return".
I removed all the code within the first foreach statement to see if there was some conflict between the foreach statements, but it returns with the same result.
I've tried some of the suggestions on here that I thought might be relevant, but without any luck.
What could I possibly be doing wrong?
function getInvoiceTimeLog($project_unique_id, $user_id, $user_timezone, $time_format)
{
global $db;
$query = "SELECT t.task_id, t.unique_id, t.name, t.description, t.sub_total, p.project_id, p.user_id FROM task as t, task_project as tp, project as p WHERE t.task_id = tp.task_id AND tp.project_id = p.project_id AND p.unique_id = ".$db->prep($project_unique_id)." AND p.user_id = ".$db->prep($user_id)." ORDER BY t.name";
$res = $db->query($query,'assoc');
if($res != false)
{
foreach($res as $row1):
$date = '';
$prevDate = '';
$return = '';
$query = "SELECT a.track_id FROM task_track a INNER JOIN track_time b ON a.track_id = b.track_id WHERE a.task_id =".$db->prep($row1['task_id'])." ORDER BY FROM_UNIXTIME(b.time_start,'%Y-%m-%d %H:%i:%s') DESC";
$resT = $db->query($query,'assoc');
$return .= '<div class="table" id="InvoicetimeLog"><div class="thead"><div class="th date">Date</div><div class="th start">Start</div><div class="th stop">Stop</div><div class="th hours">Hours</div></div><ul class="list">';
$return .= '<li>'.$row1['description'].'</li>';
if($resT != false)
{
foreach($resT as $row):
$track_id = $row['track_id'];
$query = "SELECT comment_id FROM track_comment WHERE track_id = ".$db->prep($track_id);
$resComLink = $db->query($query,'assoc');
if($resComLink != false)
{
$query = "SELECT comment,time_left FROM comment WHERE comment_id = ".$db->prep($resComLink[0]['comment_id']);
$resComment = $db->query($query,'assoc');
$comment_class = 'comment_has';
}
else
{
$comment = '';
$comment_class = 'comment';
}
$query = "SELECT time_start,time_end FROM track_time WHERE track_id = ".$db->prep($track_id);
$resTime = $db->query($query,'assoc');
$date = format_time($resTime[0]['time_start'],'m/d/y');
if($date != $prevDate)
{
$prevDate = format_time($resTime[0]['time_start'],'m/d/y');
$timeLog_ex = '<div class="date bold">'.$prevDate.'</div>';
$group = 'grp_shw';
}
else
{
$timeLog_ex = '<div class="date bold"></div>';
$group = 'grp_no';
}
if($time_format == 'g')
{
$the_time_format = 'g:i a';
}
else
{
$the_time_format = 'G:i';
}
if(empty($resTime[0]['time_end']))
{
$return .= '<li class="'.$group.'" id="rtrack_'.$track_id.'">'.$timeLog_ex.'<div class="start inlineEdit">'.date('m/d/y - '.$the_time_format,$resTime[0]['time_start']).'</div><div class="stop" title="The current time is at '.date($the_time_format,$db->nowUnix($user_timezone)).'">Current</div><div class="hours">'.getTimeDifference($resTime[0]['time_start'],$db->nowUnix($user_timezone)).'</div></li>';
}
else
{
$return .= '<li class="'.$group.'" id="rtrack_'.$track_id.'">'.$timeLog_ex.'<div class="start inlineEdit">'.date('m/d/y - '.$the_time_format,$resTime[0]['time_start']).'</div><div class="stop">'.date('m/d/y - '.$the_time_format,$resTime[0]['time_end']).'</div><div class="hours">'.getTimeDifference($resTime[0]['time_start'],$resTime[0]['time_end']).'</div></li>';
}
endforeach;
$return .= '<li class="grp_no"><div class="date bold">Total Time</div><div class="total">'.tot_time($unique_id,$user_id, $user_timezone).'</div></li>';
}
$return .= '</ul></div>';
endforeach;
}
return $return;
}
What a dope I am. It's simple....just move the variable declarations OUTSIDE of the foreach loop!
Move these guys to above the first foreach:
$date = '';
$prevDate = '';
$return = '';

Backup an entire website and database using PHP

I've been at this for a bit now and this is the closest I've gotten to backing up an entire site and database with PHP. The issue is I can't figure out why I continue to receive errors on lines 145 and 154.
Error:Notice: Undefined variable: arr_zip in C:\xampp\htdocs\wordpress\backup.php on line 145
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\wordpress\backup.php on line 145
Notice: Undefined variable: delete_zip in C:\xampp\htdocs\wordpress\backup.php on line 154
<?php
ini_set ("max_execution_time", 0);
$dir = "site-backup-stark";
if(!(file_exists($dir)))
{
mkdir($dir, 0777);
}
$host = "localhost"; //host name
$username = "wordpress_user"; //username
$password = "pasword99"; // your password
$dbname = "wordpress_db"; // database name
$zip = new ZipArchive();
backup_tables($host, $username, $password, $dbname);
/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables = '*')
{
$con = mysql_connect($host,$user,$pass);
mysql_select_db($name,$con);
//get all of the tables
if($tables == '*')
{
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result))
{
$tables[] = $row[0];
}
}
else
{
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
$return = "";
//cycle through
foreach($tables as $table)
{
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
$return.= 'DROP TABLE '.$table.';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
$return.= "nn".$row2[1].";nn";
while($row = mysql_fetch_row($result))
{
$return.= 'INSERT INTO '.$table.' VALUES(';
for($j=0; $j<$num_fields; $j++)
{
$row[$j] = addslashes($row[$j]);
$row[$j] = preg_replace("#n#","n",$row[$j]);
if (isset($row[$j]))
{
$return.= '"'.$row[$j].'"' ;
}
else
{
$return.= '""';
}
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ");n";
}
$return.="nnn";
}
//save file
$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
fwrite($handle,$return);
fclose($handle);
}
if (glob("*.sql") != false)
{
$filecount = count(glob("*.sql"));
$arr_file = glob("*.sql");
for($j=0;$j<$filecount;$j++)
{
$res = $zip->open($arr_file[$j].".zip", ZipArchive::CREATE);
if ($res === TRUE)
{
$zip->addFile($arr_file[$j]);
$zip->close();
unlink($arr_file[$j]);
}
}
}
//get the current folder name-start
$path = dirname($_SERVER['PHP_SELF']);
$position = strrpos($path,'/') + 1;
$folder_name = substr($path,$position);
//get the current folder name-end
$zipname = date('Y/m/d');
$str = "stark-".$zipname.".zip";
$str = str_replace("/", "-", $str);
// open archive
if ($zip->open($str, ZIPARCHIVE::CREATE) !== TRUE)
{
die ("Could not open archive");
}
// initialize an iterator
// pass it the directory to be processed
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("../$folder_name/"));
// iterate over the directory
// add each file found to the archive
foreach ($iterator as $key=>$value)
{
if( strstr(realpath($key), "stark") == FALSE)
{
$zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
}
}
// close and save archive
$zip->close();
echo "Archive created successfully.";
if(glob("*.sql.zip") != false)
{
$filecount = count(glob("*.sql.zip"));
$arr_file = glob("*.sql.zip");
for($j=0;$j<$filecount;$j++)
{
unlink($arr_file[$j]);
}
}
//get the array of zip files
if(glob("*.zip") != false)
{
$arr_zip = glob("*.zip");
}
//copy the backup zip file to site-backup-stark folder
foreach ($arr_zip as $key => $value) //error here
{
if (strstr($value, "stark"))
{
$delete_zip[] = $value;
copy("$value", "$dir/$value");
}
}
for ($i=0; $i < count($delete_zip); $i++) //error here
{
unlink($delete_zip[$i]);
}
?>
In this block of code:
//get the array of zip files
if(glob("*.zip") != false)
{
$arr_zip = glob("*.zip");
}
//copy the backup zip file to site-backup-stark folder
foreach ($arr_zip as $key => $value) //error here
If your call to glob("*.zip") returns a 'falsey' value your variable $arr_zip won't be initialised and you'll get an error in the foreach that follows it. Check for false explicitly with
if(glob("*.zip") !== false)
If this continues to fail you need to investigate why glob() is failing. I don't have a suggestion for that.
Later, you haven't initialised $delete_zip at all, somewhere you need
$delete_zip = array();

Undefined offset: 1 twitch channel grab

I get this on my website:
Notice: Undefined offset: 1 in ...
Here is the full code, bolded is the part it refers to i think, basically this scripts should grab list of my channels from ther DB and then display info from the twitch:
<?php
defined('_JEXEC') or die('Direct access to this location is not allowed.');
$userList = $params->get('userlist');
$usersArray = explode(',', $userList);
$userGrab = "http://api.justin.tv/api/stream/list.json?channel=";
$checkedOnline = array ();
foreach($usersArray as $i =>$value){
$userGrab .= ",";
$userGrab .= $value;
}
unset($value);
$json_file = file_get_contents($userGrab, 0, null, null);
$json_array = json_decode($json_file, true);
//used to be $viewer = $json_array[$i]['stream_count'];
**foreach($usersArray as $i =>$value){
$title = $json_array[$i]['channel']['channel_url'];
$array = explode('/', $title);
$member = end($array);
$name = $json_array[$i]['name'];
$game = $json_array[$i]['meta_game'];
$viewer = $json_array[$i]['channel_count'];
$topic = $json_array[$i]['title'];
onlinecheck($member, $viewer, $topic, $game);
$checkedOnline[] = signin($member);
}**
unset($value);
unset($i);
function onlinecheck($online, $viewers, $topic, $game)
{
if ($game == "Counter-Strike: Global Offensive")
{
$igra = "csgo12.jpg";
}
else{
$igra = "online.png";
}
if ($online != null)
{
echo ' <img src="./modules/mod_twitchlist/tmpl/'.$igra.'">';
echo ' <strong>'.$online.'</strong>';
echo ' (' .$viewers.') - ';
echo '<strong>'.$topic.'</strong> </br>';
}
}
function signin($person){
if($person != null){
return $person;
}
else{
return null;
}
}
?>
<!-- <hr> -->
<?php
foreach ($usersArray as $i => $value1) {
foreach($checkedOnline as $ii => $value2){
if($value1 == $value2){
unset($usersArray[$i]);
}
}
}
$broj1 = count($usersArray); //neaktivni korisnici
$broj2 = count($checkedOnline); //ukupno streamova
if ($broj1 == $broj2){
echo '<strong><center>Nijedan stream nije aktivan trenutno!</center></strong>';
}
?>
Any hints?

Backupme - Connection Manager missing

I'm using this shell script below. I have it in app/console/command/BackupShell.php
When I run the script I get this error:
Fatal error: Class 'ConnectionManager' not found in app/Console/Command/BackupShell.php
What am I doing wrong?
class BackupShell extends Shell {
var $tasks = array('ProgressBar');
public function main() {
//database configuration, default is "default"
if(!isset($this->args[0])){
$this->args[0] = 'default';
}
//rows per query (less rows = less ram usage but more running time), default is 0 which means all rows
if(!isset($this->args[1])){
$this->args[1] = 0;
}
//directory to save your backup, it will be created automatically if not found., default is webroot/db-backups/yyyy-mm-dd
if(!isset($this->args[2])){
$this->args[2] = 'db-backups/'.date('Y-m-d',time());
}
App::import('Core', 'ConnectionManager');
$db = ConnectionManager::getDataSource($this->args[0]);
$backupdir = $this->args[2];
$seleced_tables = '*';
//$tables = array('orders', 'users', 'profiles');
if ($seleced_tables == '*') {
$sources = $db->query("show full tables where Table_Type = 'BASE TABLE'", false);
foreach($sources as $table){
$table = array_shift($table);
$tables[] = array_shift($table);
}
} else {
$tables = is_array($tables) ? $tables : explode(',', $tables);
}
$filename = 'db-backup-' . date('Y-m-d-H-i-s',time()) .'_' . (md5(implode(',', $tables))) . '.sql';
$return = '';
$limit = $this->args[1];
$start = 0;
if(!is_dir($backupdir)) {
$this->out(' ', 1);
$this->out('Will create "'.$backupdir.'" directory!', 2);
if(mkdir($backupdir,0755,true)){
$this->out('Directory created!', 2);
}else{
$this->out('Failed to create destination directory! Can not proceed with the backup!', 2);
die;
}
}
if ($this->__isDbConnected($this->args[0])) {
$this->out('---------------------------------------------------------------');
$this->out(' Starting Backup..');
$this->out('---------------------------------------------------------------');
foreach ($tables as $table) {
$this->out(" ",2);
$this->out($table);
$handle = fopen($backupdir.'/'.$filename, 'a+');
$return= 'DROP TABLE IF EXISTS `' . $table . '`;';
$row2 = $db->query('SHOW CREATE TABLE ' . $table.';');
//$this->out($row2);
$return.= "\n\n" . $row2[0][0]['Create Table'] . ";\n\n";
fwrite($handle, $return);
for(;;){
if($limit == 0){
$limitation = '';
}else{
$limitation = ' Limit '.$start.', '.$limit;
}
$result = $db->query('SELECT * FROM ' . $table.$limitation.';', false);
$num_fields = count($result);
$this->ProgressBar->start($num_fields);
if($num_fields == 0){
$start = 0;
break;
}
foreach ($result as $row) {
$this->ProgressBar->next();
$return2 = 'INSERT INTO ' . $table . ' VALUES(';
$j = 0;
foreach ($row[$table] as $key => $inner) {
$j++;
if(isset($inner)){
if ($inner == NULL){
$return2 .= 'NULL';
}else{
$inner = addslashes($inner);
$inner = ereg_replace("\n", "\\n", $inner);
$return2.= '"' . $inner . '"';
}
}else {
$return2.= '""';
}
if ($j < (count($row[$table]))) {
$return2.= ',';
}
}
$return2.= ");\n";
fwrite($handle, $return2);
}
$start+=$limit;
if($limit == 0){
break;
}
}
$return.="\n\n\n";
fclose($handle);
}
$this->out(" ",2);
$this->out('---------------------------------------------------------------');
$this->out(' Yay! Backup Completed!');
$this->out('---------------------------------------------------------------');
}else{
$this->out(' ', 2);
$this->out('Error! Can\'t connect to "'.$this->args[0].'" database!', 2);
}
}
function __isDbConnected($db = NULL) {
$datasource = ConnectionManager::getDataSource($db);
return $datasource->isConnected();
}
}
Is this 2.x code?
App::import('Core', 'ConnectionManager');
is deprecated/wrong in 2.x and should be
App::uses('ConnectionManager', 'Model');
and also be placed at the top of the file, right after the <?php tag

Resources